You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by jo...@apache.org on 2025/08/12 00:22:40 UTC
(impala) branch master updated (a7efa7665 -> e7676223d)
This is an automated email from the ASF dual-hosted git repository.
joemcdonnell pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git
from a7efa7665 IMPALA-13453: Avoid reloading partition if it is unchanged
new 98b6c0208 IMPALA-14094: Calcite planner: Use table and column statistics for optimization
new 922443da4 IMPALA-14165: Type coercion code accidentally omitted from analysis
new 6b005a793 IMPALA-14296: Fix with_args fixture in TestMetadataReplicas
new f0757418c IMPALA-14257: Support set USE_APACHE_* when USE_APACHE_COMPONENTS=false
new e7676223d IMPALA-14233: Fix unexpected Kudu table drop attempt on external table creation failure
The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
README-build.md | 2 +-
bin/impala-config.sh | 14 +-
.../java/org/apache/impala/planner/JoinNode.java | 2 +-
.../apache/impala/service/CatalogOpExecutor.java | 2 +-
.../apache/impala/calcite/schema/CalciteDb.java | 7 +-
.../apache/impala/calcite/schema/CalciteTable.java | 35 +-
.../calcite/schema/FilterSelectivityEstimator.java | 302 ++
.../schema/ImpalaRelMdDistinctRowCount.java | 108 +
.../impala/calcite/schema/ImpalaRelMdRowCount.java | 99 +
.../calcite/schema/ImpalaRelMdSelectivity.java | 89 +
.../impala/calcite/schema/ImpalaRelMdSize.java | 121 +
.../ImpalaRelMetadataProvider.java} | 25 +-
.../impala/calcite/schema/JoinRelationInfo.java | 219 +
.../calcite/service/CalciteAnalysisDriver.java | 5 +-
.../impala/calcite/service/CalciteJniFrontend.java | 11 +
.../calcite/service/CalciteMetadataHandler.java | 27 +-
.../calcite/service/CalcitePhysPlanCreator.java | 8 +-
.../calcite/service/CalciteRelNodeConverter.java | 14 +-
.../apache/impala/planner/TestCalciteStats.java | 606 +++
.../PlannerTest/calcite_tpcds/tpcds-q01.test | 933 ++--
.../PlannerTest/calcite_tpcds/tpcds-q03.test | 244 +-
.../PlannerTest/calcite_tpcds/tpcds-q04.test | 3626 ++++++-------
.../PlannerTest/calcite_tpcds/tpcds-q05.test | 372 +-
.../PlannerTest/calcite_tpcds/tpcds-q06.test | 646 +--
.../PlannerTest/calcite_tpcds/tpcds-q07.test | 232 +-
.../PlannerTest/calcite_tpcds/tpcds-q08.test | 886 ++--
.../PlannerTest/calcite_tpcds/tpcds-q10a.test | 1450 ++---
.../PlannerTest/calcite_tpcds/tpcds-q11.test | 1620 +++---
.../PlannerTest/calcite_tpcds/tpcds-q12.test | 238 +-
.../PlannerTest/calcite_tpcds/tpcds-q13.test | 576 +-
.../PlannerTest/calcite_tpcds/tpcds-q14a.test | 4753 +++++++++--------
.../PlannerTest/calcite_tpcds/tpcds-q14b.test | 2691 +++++-----
.../PlannerTest/calcite_tpcds/tpcds-q15.test | 244 +-
.../PlannerTest/calcite_tpcds/tpcds-q16.test | 1690 +++---
.../PlannerTest/calcite_tpcds/tpcds-q17.test | 1291 +++--
.../PlannerTest/calcite_tpcds/tpcds-q18.test | 1118 ++--
.../PlannerTest/calcite_tpcds/tpcds-q19.test | 894 ++--
.../PlannerTest/calcite_tpcds/tpcds-q20.test | 238 +-
.../PlannerTest/calcite_tpcds/tpcds-q21.test | 370 +-
.../PlannerTest/calcite_tpcds/tpcds-q22.test | 226 +-
.../PlannerTest/calcite_tpcds/tpcds-q23a.test | 2028 +++----
.../PlannerTest/calcite_tpcds/tpcds-q23b.test | 3438 ++++++------
.../PlannerTest/calcite_tpcds/tpcds-q24a.test | 1442 +++--
.../PlannerTest/calcite_tpcds/tpcds-q24b.test | 1442 +++--
.../PlannerTest/calcite_tpcds/tpcds-q25.test | 1269 +++--
.../PlannerTest/calcite_tpcds/tpcds-q26.test | 232 +-
.../PlannerTest/calcite_tpcds/tpcds-q27.test | 238 +-
.../PlannerTest/calcite_tpcds/tpcds-q29.test | 1249 +++--
.../PlannerTest/calcite_tpcds/tpcds-q31.test | 1604 +++---
.../PlannerTest/calcite_tpcds/tpcds-q32.test | 560 +-
.../PlannerTest/calcite_tpcds/tpcds-q33.test | 364 +-
.../PlannerTest/calcite_tpcds/tpcds-q34.test | 460 +-
.../PlannerTest/calcite_tpcds/tpcds-q35a.test | 930 ++--
.../PlannerTest/calcite_tpcds/tpcds-q37.test | 576 +-
.../PlannerTest/calcite_tpcds/tpcds-q38.test | 674 +--
.../PlannerTest/calcite_tpcds/tpcds-q39a.test | 632 +--
.../PlannerTest/calcite_tpcds/tpcds-q39b.test | 632 +--
.../PlannerTest/calcite_tpcds/tpcds-q40.test | 386 +-
.../PlannerTest/calcite_tpcds/tpcds-q41.test | 194 +-
.../PlannerTest/calcite_tpcds/tpcds-q42.test | 282 +-
.../calcite_tpcds/tpcds-q43-verbose.test | 118 +-
.../PlannerTest/calcite_tpcds/tpcds-q43.test | 232 +-
.../PlannerTest/calcite_tpcds/tpcds-q44.test | 552 +-
.../PlannerTest/calcite_tpcds/tpcds-q45.test | 1024 ++--
.../PlannerTest/calcite_tpcds/tpcds-q46.test | 892 ++--
.../PlannerTest/calcite_tpcds/tpcds-q47.test | 1744 +++---
.../PlannerTest/calcite_tpcds/tpcds-q48.test | 368 +-
.../PlannerTest/calcite_tpcds/tpcds-q49.test | 646 +--
.../PlannerTest/calcite_tpcds/tpcds-q50.test | 522 +-
.../PlannerTest/calcite_tpcds/tpcds-q52.test | 282 +-
.../PlannerTest/calcite_tpcds/tpcds-q53.test | 204 +-
.../PlannerTest/calcite_tpcds/tpcds-q54.test | 1636 +++---
.../PlannerTest/calcite_tpcds/tpcds-q55.test | 282 +-
.../PlannerTest/calcite_tpcds/tpcds-q56.test | 1392 ++---
.../PlannerTest/calcite_tpcds/tpcds-q57.test | 1822 +++----
.../PlannerTest/calcite_tpcds/tpcds-q58.test | 1418 ++---
.../PlannerTest/calcite_tpcds/tpcds-q59.test | 464 +-
.../PlannerTest/calcite_tpcds/tpcds-q60.test | 364 +-
.../PlannerTest/calcite_tpcds/tpcds-q61.test | 1220 ++---
.../PlannerTest/calcite_tpcds/tpcds-q62.test | 276 +-
.../PlannerTest/calcite_tpcds/tpcds-q63.test | 204 +-
.../PlannerTest/calcite_tpcds/tpcds-q64.test | 5610 ++++++++++----------
.../PlannerTest/calcite_tpcds/tpcds-q65.test | 206 +-
.../PlannerTest/calcite_tpcds/tpcds-q66.test | 538 +-
.../PlannerTest/calcite_tpcds/tpcds-q67.test | 218 +-
.../PlannerTest/calcite_tpcds/tpcds-q68.test | 888 ++--
.../PlannerTest/calcite_tpcds/tpcds-q69.test | 1200 ++---
.../PlannerTest/calcite_tpcds/tpcds-q70.test | 786 +--
.../PlannerTest/calcite_tpcds/tpcds-q71.test | 206 +-
.../PlannerTest/calcite_tpcds/tpcds-q72.test | 1012 ++--
.../PlannerTest/calcite_tpcds/tpcds-q73.test | 452 +-
.../PlannerTest/calcite_tpcds/tpcds-q74.test | 1516 +++---
.../PlannerTest/calcite_tpcds/tpcds-q75.test | 2106 ++++----
.../PlannerTest/calcite_tpcds/tpcds-q76.test | 612 +--
.../PlannerTest/calcite_tpcds/tpcds-q77.test | 424 +-
.../PlannerTest/calcite_tpcds/tpcds-q78.test | 476 +-
.../PlannerTest/calcite_tpcds/tpcds-q79.test | 414 +-
.../PlannerTest/calcite_tpcds/tpcds-q80.test | 1345 ++---
.../PlannerTest/calcite_tpcds/tpcds-q82.test | 572 +-
.../PlannerTest/calcite_tpcds/tpcds-q83.test | 2104 ++++----
.../PlannerTest/calcite_tpcds/tpcds-q84.test | 812 +--
.../PlannerTest/calcite_tpcds/tpcds-q85.test | 1077 ++--
.../PlannerTest/calcite_tpcds/tpcds-q86.test | 226 +-
.../PlannerTest/calcite_tpcds/tpcds-q87.test | 674 +--
.../PlannerTest/calcite_tpcds/tpcds-q88.test | 1842 +++----
.../PlannerTest/calcite_tpcds/tpcds-q89.test | 308 +-
.../PlannerTest/calcite_tpcds/tpcds-q91.test | 888 ++--
.../PlannerTest/calcite_tpcds/tpcds-q92.test | 566 +-
.../PlannerTest/calcite_tpcds/tpcds-q94.test | 1686 +++---
.../PlannerTest/calcite_tpcds/tpcds-q95.test | 1192 ++---
.../PlannerTest/calcite_tpcds/tpcds-q96.test | 238 +-
.../PlannerTest/calcite_tpcds/tpcds-q98.test | 238 +-
.../PlannerTest/calcite_tpcds/tpcds-q99.test | 212 +-
.../queries/QueryTest/calcite.test | 10 +
tests/custom_cluster/test_metadata_replicas.py | 5 +-
115 files changed, 46281 insertions(+), 44706 deletions(-)
create mode 100644 java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/FilterSelectivityEstimator.java
create mode 100644 java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdDistinctRowCount.java
create mode 100644 java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdRowCount.java
create mode 100644 java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdSelectivity.java
create mode 100644 java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdSize.java
copy java/calcite-planner/src/main/java/org/apache/impala/calcite/{type/ImpalaTypeCoercionFactory.java => schema/ImpalaRelMetadataProvider.java} (54%)
create mode 100644 java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/JoinRelationInfo.java
create mode 100644 java/calcite-planner/src/test/java/org/apache/impala/planner/TestCalciteStats.java
(impala) 04/05: IMPALA-14257: Support set USE_APACHE_* when USE_APACHE_COMPONENTS=false
Posted by jo...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
joemcdonnell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git
commit f0757418c8909d788f4c9d11d406136de1c4aef0
Author: zhangyifan27 <ch...@163.com>
AuthorDate: Thu Jul 24 20:41:50 2025 +0800
IMPALA-14257: Support set USE_APACHE_* when USE_APACHE_COMPONENTS=false
Before this patch, USE_APACHE_COMPONENTS overwrite all USE_APACHE_*
variables, but we should support using specific apache components.
After this patch, if USE_APACHE_COMPONENTS is not false, USE_APACHE_
{HADOOP,HBASE,HIVE,TEZ,RANGER} variable will be set true. Otherwise,
we should use the value of USE_APACHE_{HADOOP,HBASE,HIVE,TEZ,RANGER}.
Test:
- Built and ran a test cluster with setting USE_APACHE_HIVE=true
and USE_APACHE_COMPONENTS=false.
Change-Id: I33791465a3b238b56f82d749e3dbad8215f3b3bc
Reviewed-on: http://gerrit.cloudera.org:8080/23211
Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
README-build.md | 2 +-
bin/impala-config.sh | 14 +++++++-------
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/README-build.md b/README-build.md
index 7d469c06a..5ee8b357c 100644
--- a/README-build.md
+++ b/README-build.md
@@ -36,7 +36,7 @@ can do so through the environment variables and scripts listed below.
| JAVA | "${JAVA_HOME}/bin/java" | Java binary location. |
| CLASSPATH | | See bin/set-classpath.sh for details. |
| PYTHONPATH | | See bin/set-pythonpath.sh for details. |
-| USE_APACHE_COMPONENTS | false | Use Apache components for Hadoop, HBase, Hive, Tez, Ranger. It will set USE_APACHE_{HADOOP,HBASE,HIVE,TEZ,RANGER} variable as true if not set. |
+| USE_APACHE_COMPONENTS | false | Use Apache components for Hadoop, HBase, Hive, Tez, Ranger. It will set USE_APACHE_{HADOOP,HBASE,HIVE,TEZ,RANGER} variable as true if not set false. |
| USE_APACHE_HADOOP | false | Use Apache Hadoop |
| USE_APACHE_HBASE | false | Use Apache HBase |
| USE_APACHE_HIVE | false | Use Apache Hive |
diff --git a/bin/impala-config.sh b/bin/impala-config.sh
index 1846e885f..9db35f15a 100755
--- a/bin/impala-config.sh
+++ b/bin/impala-config.sh
@@ -414,12 +414,12 @@ else
export IMPALA_RANGER_URL=${CDP_RANGER_URL-}
export IMPALA_TEZ_VERSION=${CDP_TEZ_VERSION}
export IMPALA_TEZ_URL=${CDP_TEZ_URL-}
- export USE_APACHE_HADOOP=false
- export USE_APACHE_HBASE=false
- export USE_APACHE_HIVE=false
- export USE_APACHE_TEZ=false
- export USE_APACHE_RANGER=false
- export USE_APACHE_OZONE=false
+ export USE_APACHE_HADOOP=${USE_APACHE_HADOOP:=false}
+ export USE_APACHE_HBASE=${USE_APACHE_HBASE:=false}
+ export USE_APACHE_HIVE=${USE_APACHE_HIVE:=false}
+ export USE_APACHE_TEZ=${USE_APACHE_TEZ:=false}
+ export USE_APACHE_RANGER=${USE_APACHE_RANGER:=false}
+ export USE_APACHE_OZONE=${USE_APACHE_OZONE:=false}
fi
export APACHE_COMPONENTS_HOME="$IMPALA_TOOLCHAIN/apache_components"
@@ -1063,7 +1063,7 @@ export RANGER_CONF_DIR="$IMPALA_HOME/fe/src/test/resources"
# -Dorg.apache.logging.log4j.simplelog.StatusLogger.level=TRACE
#
# We use a unique -Dhive.log.file to distinguish the HiveMetaStore and HiveServer2 logs.
-export HIVE_CONF_DIR="$IMPALA_FE_DIR/./src/test/resources"
+export HIVE_CONF_DIR="$IMPALA_FE_DIR/src/test/resources"
# Hive looks for jar files in a single directory from HIVE_AUX_JARS_PATH plus
# any jars in AUX_CLASSPATH. (Or a list of jars in HIVE_AUX_JARS_PATH.)
(impala) 01/05: IMPALA-14094: Calcite planner: Use table and column statistics for optimization
Posted by jo...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
joemcdonnell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git
commit 98b6c0208fc338764522bea77b862fbbc751e7fb
Author: Steve Carlin <sc...@cloudera.com>
AuthorDate: Fri May 23 07:52:26 2025 -0700
IMPALA-14094: Calcite planner: Use table and column statistics for optimization
This commit enables the Calcite planner join optimization rule to make use
of table and column statistics in Impala.
The ImpalaRelMetadataProvider class provides the metadata classes to the
rule optimizer.
All the ImpalaRelMd* classes are extensions of Calcite Metadata classes. The
ones overridden are:
ImpalaRelMdRowCount:
This provides the cardinality of a given type of RelNode.
The default implementation in the RelMdRowCount is used for some of the
RelNodes. The ones overridden are:
TableScan: Gets the row count from the Table object.
Filter: Calls the FilterSelectivityEstimator and adjusts the number of
rows based on the selectivity of the filter condition.
Join: Uses our own algorithm to determine the number of rows that will
be created by the join condition using the JoinRelationInfo (more on this
below).
ImpalaRelMdDistinctRowCount:
This provides the number of distinct rows returned by the RelNode.
The default implementation in the RelMdDistinct RowCount is used for
some of the RelNodes. The ones overridden are:
TableScan: Uses the stats. If stats are not defined, all rows will
be marked as distinct.
Aggregate: For some reason, Calcite sometimes returns a number of
distinct rows greater than the number of rows, which doesn't make
sense. So this ensures the number of distinct rows never exceeds
the number of rows.
Filter: The number of distinct rows is reduced by the calculated
selectivity.
Join: same as aggregate.
ImpalaRelMdRowSize:
Provides the Impala interpreted size of the Calcite datatypes.
ImpalaRelMdSelectivity:
The selectivity is calculated within the RowCount. An initial attempt
was done to use this class for selectivity, but it was seemed rather clunky
since the row counts and selectivity are very closely intertwined and
the pruned row counts (a future commit) made this even more complicated.
So the selectivity metadata is overridden or all our RelNodes as full
selectivity (1.0).
As mentioned above, the FilterSelectivityEstimator class tries to approximate
the number of rows filtered out with the given condition. Some work still
needs to be done to make this more in line with the Expr seletivities, a Jira
will be filed for this.
The JoinRelationInfo is the helper class that estimates the number of rows
that will be output of the Join RelNode. The join condition is split up into
multiple conditions broken up by the AND keyword. This first pass has some major
flaws which need to be corrected, including:
- Only equality conditions limit the number of rows. Non-equality conditions
will be ignored. If there are only non-equality conditions, the cardinality
will be the equivalent of a cross join.
- Left joins take the maximum of the calculated join and the total number
of rows on the left side. This can probably be improved upon if we find
the matching rows provide a cardinality that is greater than one for each
row. (Of course, right joins and outer joins have this same logic).
Change-Id: I9d5bb50eb562c28e4b7c7a6529d140f98e77295c
Reviewed-on: http://gerrit.cloudera.org:8080/23122
Tested-by: Impala Public Jenkins <im...@cloudera.com>
Reviewed-by: Steve Carlin <sc...@cloudera.com>
---
.../java/org/apache/impala/planner/JoinNode.java | 2 +-
.../apache/impala/calcite/schema/CalciteDb.java | 7 +-
.../apache/impala/calcite/schema/CalciteTable.java | 35 +-
.../calcite/schema/FilterSelectivityEstimator.java | 302 ++
.../schema/ImpalaRelMdDistinctRowCount.java | 108 +
.../impala/calcite/schema/ImpalaRelMdRowCount.java | 99 +
.../calcite/schema/ImpalaRelMdSelectivity.java | 89 +
.../impala/calcite/schema/ImpalaRelMdSize.java | 121 +
.../calcite/schema/ImpalaRelMetadataProvider.java | 36 +
.../impala/calcite/schema/JoinRelationInfo.java | 219 +
.../calcite/service/CalciteAnalysisDriver.java | 2 +-
.../impala/calcite/service/CalciteJniFrontend.java | 11 +
.../calcite/service/CalciteMetadataHandler.java | 27 +-
.../calcite/service/CalcitePhysPlanCreator.java | 8 +-
.../calcite/service/CalciteRelNodeConverter.java | 14 +-
.../apache/impala/planner/TestCalciteStats.java | 606 +++
.../PlannerTest/calcite_tpcds/tpcds-q01.test | 933 ++--
.../PlannerTest/calcite_tpcds/tpcds-q03.test | 244 +-
.../PlannerTest/calcite_tpcds/tpcds-q04.test | 3626 ++++++-------
.../PlannerTest/calcite_tpcds/tpcds-q05.test | 372 +-
.../PlannerTest/calcite_tpcds/tpcds-q06.test | 646 +--
.../PlannerTest/calcite_tpcds/tpcds-q07.test | 232 +-
.../PlannerTest/calcite_tpcds/tpcds-q08.test | 886 ++--
.../PlannerTest/calcite_tpcds/tpcds-q10a.test | 1450 ++---
.../PlannerTest/calcite_tpcds/tpcds-q11.test | 1620 +++---
.../PlannerTest/calcite_tpcds/tpcds-q12.test | 238 +-
.../PlannerTest/calcite_tpcds/tpcds-q13.test | 576 +-
.../PlannerTest/calcite_tpcds/tpcds-q14a.test | 4753 +++++++++--------
.../PlannerTest/calcite_tpcds/tpcds-q14b.test | 2691 +++++-----
.../PlannerTest/calcite_tpcds/tpcds-q15.test | 244 +-
.../PlannerTest/calcite_tpcds/tpcds-q16.test | 1690 +++---
.../PlannerTest/calcite_tpcds/tpcds-q17.test | 1291 +++--
.../PlannerTest/calcite_tpcds/tpcds-q18.test | 1118 ++--
.../PlannerTest/calcite_tpcds/tpcds-q19.test | 894 ++--
.../PlannerTest/calcite_tpcds/tpcds-q20.test | 238 +-
.../PlannerTest/calcite_tpcds/tpcds-q21.test | 370 +-
.../PlannerTest/calcite_tpcds/tpcds-q22.test | 226 +-
.../PlannerTest/calcite_tpcds/tpcds-q23a.test | 2028 +++----
.../PlannerTest/calcite_tpcds/tpcds-q23b.test | 3438 ++++++------
.../PlannerTest/calcite_tpcds/tpcds-q24a.test | 1442 +++--
.../PlannerTest/calcite_tpcds/tpcds-q24b.test | 1442 +++--
.../PlannerTest/calcite_tpcds/tpcds-q25.test | 1269 +++--
.../PlannerTest/calcite_tpcds/tpcds-q26.test | 232 +-
.../PlannerTest/calcite_tpcds/tpcds-q27.test | 238 +-
.../PlannerTest/calcite_tpcds/tpcds-q29.test | 1249 +++--
.../PlannerTest/calcite_tpcds/tpcds-q31.test | 1604 +++---
.../PlannerTest/calcite_tpcds/tpcds-q32.test | 560 +-
.../PlannerTest/calcite_tpcds/tpcds-q33.test | 364 +-
.../PlannerTest/calcite_tpcds/tpcds-q34.test | 460 +-
.../PlannerTest/calcite_tpcds/tpcds-q35a.test | 930 ++--
.../PlannerTest/calcite_tpcds/tpcds-q37.test | 576 +-
.../PlannerTest/calcite_tpcds/tpcds-q38.test | 674 +--
.../PlannerTest/calcite_tpcds/tpcds-q39a.test | 632 +--
.../PlannerTest/calcite_tpcds/tpcds-q39b.test | 632 +--
.../PlannerTest/calcite_tpcds/tpcds-q40.test | 386 +-
.../PlannerTest/calcite_tpcds/tpcds-q41.test | 194 +-
.../PlannerTest/calcite_tpcds/tpcds-q42.test | 282 +-
.../calcite_tpcds/tpcds-q43-verbose.test | 118 +-
.../PlannerTest/calcite_tpcds/tpcds-q43.test | 232 +-
.../PlannerTest/calcite_tpcds/tpcds-q44.test | 552 +-
.../PlannerTest/calcite_tpcds/tpcds-q45.test | 1024 ++--
.../PlannerTest/calcite_tpcds/tpcds-q46.test | 892 ++--
.../PlannerTest/calcite_tpcds/tpcds-q47.test | 1744 +++---
.../PlannerTest/calcite_tpcds/tpcds-q48.test | 368 +-
.../PlannerTest/calcite_tpcds/tpcds-q49.test | 646 +--
.../PlannerTest/calcite_tpcds/tpcds-q50.test | 522 +-
.../PlannerTest/calcite_tpcds/tpcds-q52.test | 282 +-
.../PlannerTest/calcite_tpcds/tpcds-q53.test | 204 +-
.../PlannerTest/calcite_tpcds/tpcds-q54.test | 1636 +++---
.../PlannerTest/calcite_tpcds/tpcds-q55.test | 282 +-
.../PlannerTest/calcite_tpcds/tpcds-q56.test | 1392 ++---
.../PlannerTest/calcite_tpcds/tpcds-q57.test | 1822 +++----
.../PlannerTest/calcite_tpcds/tpcds-q58.test | 1418 ++---
.../PlannerTest/calcite_tpcds/tpcds-q59.test | 464 +-
.../PlannerTest/calcite_tpcds/tpcds-q60.test | 364 +-
.../PlannerTest/calcite_tpcds/tpcds-q61.test | 1220 ++---
.../PlannerTest/calcite_tpcds/tpcds-q62.test | 276 +-
.../PlannerTest/calcite_tpcds/tpcds-q63.test | 204 +-
.../PlannerTest/calcite_tpcds/tpcds-q64.test | 5610 ++++++++++----------
.../PlannerTest/calcite_tpcds/tpcds-q65.test | 206 +-
.../PlannerTest/calcite_tpcds/tpcds-q66.test | 538 +-
.../PlannerTest/calcite_tpcds/tpcds-q67.test | 218 +-
.../PlannerTest/calcite_tpcds/tpcds-q68.test | 888 ++--
.../PlannerTest/calcite_tpcds/tpcds-q69.test | 1200 ++---
.../PlannerTest/calcite_tpcds/tpcds-q70.test | 786 +--
.../PlannerTest/calcite_tpcds/tpcds-q71.test | 206 +-
.../PlannerTest/calcite_tpcds/tpcds-q72.test | 1012 ++--
.../PlannerTest/calcite_tpcds/tpcds-q73.test | 452 +-
.../PlannerTest/calcite_tpcds/tpcds-q74.test | 1516 +++---
.../PlannerTest/calcite_tpcds/tpcds-q75.test | 2106 ++++----
.../PlannerTest/calcite_tpcds/tpcds-q76.test | 612 +--
.../PlannerTest/calcite_tpcds/tpcds-q77.test | 424 +-
.../PlannerTest/calcite_tpcds/tpcds-q78.test | 476 +-
.../PlannerTest/calcite_tpcds/tpcds-q79.test | 414 +-
.../PlannerTest/calcite_tpcds/tpcds-q80.test | 1345 ++---
.../PlannerTest/calcite_tpcds/tpcds-q82.test | 572 +-
.../PlannerTest/calcite_tpcds/tpcds-q83.test | 2104 ++++----
.../PlannerTest/calcite_tpcds/tpcds-q84.test | 812 +--
.../PlannerTest/calcite_tpcds/tpcds-q85.test | 1077 ++--
.../PlannerTest/calcite_tpcds/tpcds-q86.test | 226 +-
.../PlannerTest/calcite_tpcds/tpcds-q87.test | 674 +--
.../PlannerTest/calcite_tpcds/tpcds-q88.test | 1842 +++----
.../PlannerTest/calcite_tpcds/tpcds-q89.test | 308 +-
.../PlannerTest/calcite_tpcds/tpcds-q91.test | 888 ++--
.../PlannerTest/calcite_tpcds/tpcds-q92.test | 566 +-
.../PlannerTest/calcite_tpcds/tpcds-q94.test | 1686 +++---
.../PlannerTest/calcite_tpcds/tpcds-q95.test | 1192 ++---
.../PlannerTest/calcite_tpcds/tpcds-q96.test | 238 +-
.../PlannerTest/calcite_tpcds/tpcds-q98.test | 238 +-
.../PlannerTest/calcite_tpcds/tpcds-q99.test | 212 +-
110 files changed, 46277 insertions(+), 44685 deletions(-)
diff --git a/fe/src/main/java/org/apache/impala/planner/JoinNode.java b/fe/src/main/java/org/apache/impala/planner/JoinNode.java
index 4dba8c643..fd4b89da4 100644
--- a/fe/src/main/java/org/apache/impala/planner/JoinNode.java
+++ b/fe/src/main/java/org/apache/impala/planner/JoinNode.java
@@ -65,7 +65,7 @@ public abstract class JoinNode extends PlanNode {
// Slop in percent allowed when comparing stats for the purpose of determining whether
// an equi-join condition is a foreign/primary key join.
- protected final static double FK_PK_MAX_STATS_DELTA_PERC = 0.05;
+ public final static double FK_PK_MAX_STATS_DELTA_PERC = 0.05;
protected JoinOperator joinOp_;
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/CalciteDb.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/CalciteDb.java
index a6f4e3474..9f327352f 100644
--- a/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/CalciteDb.java
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/CalciteDb.java
@@ -25,6 +25,7 @@ import org.apache.calcite.rel.type.RelDataTypeImpl;
import org.apache.calcite.schema.Table;
import org.apache.calcite.schema.impl.ViewTable;
import org.apache.calcite.schema.impl.AbstractSchema;
+import org.apache.impala.analysis.Analyzer;
import org.apache.impala.calcite.type.ImpalaTypeSystemImpl;
import org.apache.impala.catalog.FeTable;
import org.apache.impala.catalog.HdfsTable;
@@ -60,11 +61,13 @@ public class CalciteDb extends AbstractSchema {
this.reader_ = reader;
}
- public Builder addTable(String tableName, FeTable table) throws ImpalaException {
+ public Builder addTable(String tableName, FeTable table,
+ Analyzer analyzer) throws ImpalaException {
if (tableMap_.containsKey(tableName)) return this;
if (table instanceof HdfsTable) {
- tableMap_.put(tableName.toLowerCase(), new CalciteTable(table, reader_));
+ tableMap_.put(tableName.toLowerCase(),
+ new CalciteTable(table, reader_, analyzer));
return this;
}
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/CalciteTable.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/CalciteTable.java
index c44ff3ec6..2ed7caaf3 100644
--- a/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/CalciteTable.java
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/CalciteTable.java
@@ -58,6 +58,7 @@ import org.apache.impala.calcite.rel.util.ImpalaBaseTableRef;
import org.apache.impala.calcite.type.ImpalaTypeConverter;
import org.apache.impala.calcite.type.ImpalaTypeSystemImpl;
import org.apache.impala.calcite.util.SimplifiedAnalyzer;
+import org.apache.impala.planner.HdfsEstimatedMissingTableStats;
import org.apache.impala.planner.HdfsPartitionPruner;
import org.apache.impala.common.AnalysisException;
import org.apache.impala.common.ImpalaException;
@@ -65,6 +66,7 @@ import org.apache.impala.common.Pair;
import org.apache.impala.common.UnsupportedFeatureException;
import org.apache.impala.util.AcidUtils;
+import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import java.util.ArrayList;
@@ -83,12 +85,24 @@ public class CalciteTable extends RelOptAbstractTable
private final List<String> qualifiedTableName_;
- public CalciteTable(FeTable table, CalciteCatalogReader reader)
- throws ImpalaException {
+ private final List<Column> columns_;
+
+ private final SimplifiedAnalyzer analyzer_;
+
+ private final HdfsEstimatedMissingTableStats estimatedMissingStats_;
+
+ public CalciteTable(FeTable table, CalciteCatalogReader reader,
+ Analyzer analyzer) throws ImpalaException {
super(reader, table.getName(), buildColumnsForRelDataType(table));
this.table_ = (HdfsTable) table;
this.qualifiedTableName_ = table.getTableName().toPath();
+ this.columns_ = table.getColumnsInHiveOrder();
this.impalaPositionMap_ = buildPositionMap();
+ this.analyzer_ = (SimplifiedAnalyzer) analyzer;
+ estimatedMissingStats_ = table_.getNumRows() < 0
+ ? new HdfsEstimatedMissingTableStats(analyzer.getQueryOptions(), table_,
+ table_.getPartitions(), -1)
+ : null;
checkIfTableIsSupported(table);
}
@@ -220,9 +234,24 @@ public class CalciteTable extends RelOptAbstractTable
@Override
public double getRowCount() {
- return (double) table_.getNumRows();
+ if (table_.getNumRows() >= 0.0) {
+ return (double) table_.getNumRows();
+ }
+
+ Preconditions.checkNotNull(estimatedMissingStats_);
+ return estimatedMissingStats_.statsNumRows_;
}
+ public List<Column> getColumns() {
+ return columns_;
+ }
+
+ public Column getColumn(int i) {
+ HdfsTable feFsTable = (HdfsTable) table_;
+ return columns_.get(i);
+ }
+
+
/**
* Returns a position map from Impala column numbers to Calcite
* column numbers. Calcite places the columns in "Hive Order"
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/FilterSelectivityEstimator.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/FilterSelectivityEstimator.java
new file mode 100644
index 000000000..9f751e263
--- /dev/null
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/FilterSelectivityEstimator.java
@@ -0,0 +1,302 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.impala.calcite.schema;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.calcite.rel.RelNode;
+import org.apache.calcite.rel.core.JoinRelType;
+import org.apache.calcite.rel.core.TableScan;
+import org.apache.calcite.rel.metadata.RelMetadataQuery;
+import org.apache.calcite.rex.RexCall;
+import org.apache.calcite.rex.RexInputRef;
+import org.apache.calcite.rex.RexNode;
+import org.apache.calcite.sql.SqlKind;
+import org.apache.calcite.sql.type.SqlTypeName;
+import org.apache.calcite.util.ImmutableBitSet;
+import org.apache.impala.calcite.rel.util.RexInputRefCollector;
+import org.apache.impala.calcite.schema.JoinRelationInfo.EqualityConjunction;
+import org.apache.impala.catalog.Column;
+import org.apache.impala.catalog.ColumnStats;
+
+import org.apache.calcite.plan.hep.HepRelVertex;
+import org.apache.calcite.rel.core.Join;
+
+import com.google.common.base.Preconditions;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class FilterSelectivityEstimator {
+
+ protected static final Logger LOG =
+ LoggerFactory.getLogger(FilterSelectivityEstimator.class);
+
+ private final RelNode childRel_;
+
+ private final double childCardinality_;
+
+ private final RelMetadataQuery mq_;
+
+ public static final double RANGE_COMPARISON_SELECTIVITY = 1.0 / 3.0;
+
+ public static final double BETWEEN_SELECTIVITY = 1.0 / 9.0;
+
+ public FilterSelectivityEstimator(RelNode childRel, RelMetadataQuery mq) {
+ this.mq_ = mq;
+ this.childRel_ = (childRel instanceof HepRelVertex)
+ ? ((HepRelVertex)childRel).getCurrentRel()
+ : childRel;
+ this.childCardinality_ = mq.getRowCount(childRel);
+ }
+
+ public Double estimateSelectivity(RexNode rexNode) {
+ if (rexNode instanceof RexInputRef) {
+ return estimateInputRefSelectivity((RexInputRef) rexNode);
+ }
+ if (rexNode instanceof RexCall) {
+ return estimateCallSelectivity((RexCall)rexNode);
+ }
+ return 1.0;
+ }
+
+ // Can only provide a selectivity estimate on an "inputRef" filter
+ // condition if it is a true/false boolean.
+ private Double estimateInputRefSelectivity(RexInputRef inputRef) {
+ // There is no selectivity to process for anything other than
+ // a boolean
+ if (inputRef.getType().getSqlTypeName() != SqlTypeName.BOOLEAN) {
+ return 1.0;
+ }
+
+ // We can only get stats if the node directly underneath is a TableScan
+ if (!(childRel_ instanceof TableScan)) {
+ // For default, If it is a boolean and we assume uniform distribution,
+ // it will filter half the rows
+ return 0.5;
+ }
+
+ CalciteTable table = (CalciteTable) childRel_.getTable();
+ Preconditions.checkNotNull(table);
+ Column column = table.getColumn(inputRef.getIndex());
+ if (column.getStats() != null) {
+ ColumnStats stats = column.getStats();
+ if (stats.getNumTrues() == 0 && stats.getNumFalses() == 0) {
+ return 0.0;
+ }
+ return (double) stats.getNumTrues() / childCardinality_;
+ }
+
+ // For default, If it is a boolean and we assume uniform distribution,
+ // it will filter half the rows
+ return 0.5;
+ }
+
+ private Double estimateCallSelectivity(RexCall call) {
+ switch (call.getOperator().getKind()) {
+ case EQUALS:
+ case LIKE:
+ case IS_NOT_DISTINCT_FROM:
+ return computeEqualsSelectivity(call);
+ case AND:
+ return computeConjunctionSelectivity(call);
+ case OR:
+ return computeDisjunctionSelectivity(call);
+ case NOT:
+ case NOT_EQUALS:
+ return computeNotEqualitySelectivity(call);
+ case IS_NULL:
+ return computeIsNullSelectivity(call);
+ case IS_NOT_NULL:
+ return computeIsNotNullSelectivity(call);
+ // TODO: For inequalities, between, and in, we can give a selectivity
+ // of 0 if condition is out of range. Also, histogram data would be
+ // a nice feature to add :)
+ case LESS_THAN_OR_EQUAL:
+ case GREATER_THAN_OR_EQUAL:
+ case LESS_THAN:
+ case GREATER_THAN:
+ return RANGE_COMPARISON_SELECTIVITY;
+ case BETWEEN:
+ // TODO: Impala has better logic than this
+ return BETWEEN_SELECTIVITY;
+ case IN:
+ return computeInSelectivity(call);
+ default:
+ return computeEqualsSelectivity(call);
+ }
+ }
+
+ /**
+ * NDV of "f1(x, y, z) != f2(p, q, r)" ->
+ * "(maxNDV(x,y,z,p,q,r) - 1)/maxNDV(x,y,z,p,q,r)".
+ * <p>
+ *
+ * @param call
+ * @return returns "not equals" selectivity for call.
+ */
+ private Double computeNotEqualitySelectivity(RexCall call) {
+ Double tmpNDV = getMaxNDV(call);
+ return tmpNDV > 1.0 ? (tmpNDV - 1.0) / tmpNDV : 1.0;
+ }
+
+ /**
+ * Selectivity of f(X,y,z) -> 1/maxNDV(x,y,z).
+ * <p>
+ * Note that = is considered a generic function and uses this method to find its
+ * selectivity.
+ * @param call
+ * @return returns "equals" selectivity for call.
+ */
+ private Double computeEqualsSelectivity(RexCall call) {
+ return 1.0 / getMaxNDV(call);
+ }
+
+ private Double computeIsNullSelectivity(RexCall call) {
+ if (childRel_ instanceof TableScan
+ && call.getOperands().get(0) instanceof RexInputRef) {
+ TableScan tableScan = (TableScan) childRel_;
+ return getNumNulls(call, tableScan) / Math.max(mq_.getRowCount(tableScan), 1);
+ } else if (childRel_ instanceof Join) {
+ Join join = (Join) childRel_;
+ // TODO: fix this. If it's a non-inner join, we can hopefully calculate the number
+ // of null rows based on what happens with the outer join. We also only change
+ // the cardinality if the input ref is on the "outer" side.
+ if (join.getJoinType() != JoinRelType.INNER) {
+ return 1.0 - RANGE_COMPARISON_SELECTIVITY;
+ }
+ }
+ return computeEqualsSelectivity(call);
+ }
+
+ private Double computeIsNotNullSelectivity(RexCall call) {
+ if (childRel_ instanceof TableScan
+ && call.getOperands().get(0) instanceof RexInputRef) {
+ TableScan tableScan = (TableScan) childRel_;
+ double noOfNulls = getNumNulls(call, tableScan);
+ double totalNoOfTuples = mq_.getRowCount(tableScan);
+ return (totalNoOfTuples - noOfNulls) / Math.max(totalNoOfTuples, 1);
+ } else if (childRel_ instanceof Join) {
+ Join join = (Join) childRel_;
+ // TODO: fix this. If it's a non-inner join, we can hopefully calculate the number
+ // of null rows based on what happens with the outer join. We also only change
+ // the cardinality if the input ref is on the "outer" side.
+ if (join.getJoinType() != JoinRelType.INNER) {
+ return RANGE_COMPARISON_SELECTIVITY;
+ }
+ }
+
+ //TODO: IMPALA-14235, let's see if we can do better.
+ return computeNotEqualitySelectivity(call);
+ }
+
+ private Double computeInSelectivity(RexCall call) {
+ Double selectivity = computeEqualsSelectivity(call);
+ selectivity = selectivity * (call.operands.size() - 1);
+ return Math.min(selectivity, 1.0);
+ }
+
+ /**
+ * Disjunction Selectivity -> (1 D(1-m1/n)(1-m2/n)) where n is the total
+ * number of tuples from child and m1 and m2 is the expected number of tuples
+ * from each part of the disjunction predicate.
+ * <p>
+ * Note we compute m1. m2.. by applying selectivity of the disjunctive element
+ * on the cardinality from child.
+ *
+ * @param call
+ * @return returns "disjunction" selectivity for call.
+ */
+ private Double computeDisjunctionSelectivity(RexCall call) {
+ Double tmpCardinality;
+ Double tmpSelectivity;
+ double selectivity = 1;
+
+ for (RexNode dje : call.getOperands()) {
+ tmpCardinality = childCardinality_ * estimateSelectivity(dje);
+ tmpSelectivity = (tmpCardinality > 1.0 && tmpCardinality < childCardinality_)
+ ? 1.0 - tmpCardinality / childCardinality_
+ : 1.0;
+
+ selectivity *= tmpSelectivity;
+ }
+
+ if (selectivity < 0.0) {
+ selectivity = 0.0;
+ }
+
+ return (1.0 - selectivity);
+ }
+
+ /**
+ * Selectivity of conjunctive predicate -> (selectivity of conjunctive
+ * element1) * (selectivity of conjunctive element2)...
+ *
+ * @param call
+ * @return returns "conjunction" selectivity for call.
+ */
+ private Double computeConjunctionSelectivity(RexCall call) {
+ double selectivity = 1.0;
+ for (RexNode cje : call.getOperands()) {
+ selectivity *= estimateSelectivity(cje);
+ }
+ return selectivity;
+ }
+
+ /**
+ * Given a RexCall of kind IS_NULL & TableScan find number of nulls.
+ * first col which must be an input ref
+ *
+ * TODO: improve this
+ *
+ * @param call
+ * @param t
+ * @return estimated number of nulls from statistics
+ */
+ private long getNumNulls(RexCall call, TableScan t) {
+ Preconditions.checkState(call.getOperator().getKind() == SqlKind.IS_NULL ||
+ call.getOperator().getKind() == SqlKind.IS_NOT_NULL);
+ Preconditions.checkState(call.getOperands().size() == 1);
+ Preconditions.checkState(call.getOperands().get(0) instanceof RexInputRef);
+ RexInputRef inputRef = (RexInputRef) call.getOperands().get(0);
+ CalciteTable table = (CalciteTable) t.getTable();
+ Column column = table.getColumn(inputRef.getIndex());
+ return column.getStats() != null ? column.getStats().getNumNulls() : 0;
+ }
+
+ private Double getMaxNDV(RexCall call) {
+ Set<Integer> inputRefs = new HashSet<>();
+ for (RexNode op : call.getOperands()) {
+ inputRefs.addAll(RexInputRefCollector.getInputRefs(op));
+ }
+
+ double maxNDV = 1.0;
+ for (Integer index : inputRefs) {
+ maxNDV = Math.max(getDistinctRowCount(index), maxNDV);
+ }
+
+ return maxNDV;
+ }
+
+ private Double getDistinctRowCount(int indx) {
+ ImmutableBitSet bitSetOfRqdProj = ImmutableBitSet.of(indx);
+ return mq_.getDistinctRowCount(childRel_, bitSetOfRqdProj,
+ childRel_.getCluster().getRexBuilder().makeLiteral(true));
+ }
+}
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdDistinctRowCount.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdDistinctRowCount.java
new file mode 100644
index 000000000..93db85c9a
--- /dev/null
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdDistinctRowCount.java
@@ -0,0 +1,108 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.impala.calcite.schema;
+
+import com.google.common.base.Preconditions;
+import com.google.common.collect.ImmutableList;
+
+import org.apache.calcite.rel.core.Aggregate;
+import org.apache.calcite.rel.core.Filter;
+import org.apache.calcite.rel.core.Join;
+import org.apache.calcite.rel.core.TableScan;
+import org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider;
+import org.apache.calcite.rel.metadata.RelMdDistinctRowCount;
+import org.apache.calcite.rel.metadata.RelMetadataProvider;
+import org.apache.calcite.rel.metadata.RelMetadataQuery;
+import org.apache.calcite.rex.RexNode;
+import org.apache.calcite.util.BuiltInMethod;
+import org.apache.calcite.util.ImmutableBitSet;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * ImpalaRelMdDistinctRowCount is an extension of the RelMdDistinctCount
+ * Calcite class which returns distinct row counts for a given logical RelNode
+ */
+public class ImpalaRelMdDistinctRowCount extends RelMdDistinctRowCount {
+
+ protected static final Logger LOG =
+ LoggerFactory.getLogger(ImpalaRelMdDistinctRowCount.class.getName());
+
+ public static final RelMetadataProvider SOURCE = ReflectiveRelMetadataProvider
+ .reflectiveSource(BuiltInMethod.DISTINCT_ROW_COUNT.method,
+ new ImpalaRelMdDistinctRowCount());
+
+ @Override
+ public Double getDistinctRowCount(TableScan scan, RelMetadataQuery mq,
+ ImmutableBitSet groupKey, RexNode predicate) {
+ double distinctRows = 1.0;
+ CalciteTable table = (CalciteTable) scan.getTable();
+ double totalRows = table.getRowCount();
+ Preconditions.checkState(totalRows >= 0.0);
+ for (Integer i : groupKey.asList()) {
+ long distinctValues = table.getColumn(i).getStats().getNumDistinctValues();
+ // if no distinct values stats, just assume all rows are distinct
+ if (distinctValues < 0) {
+ return totalRows;
+ }
+ distinctRows *= distinctValues;
+ // number of distinct rows can never be more than number of total rows
+ if (distinctRows >= totalRows) {
+ return totalRows;
+ }
+ }
+ return distinctRows;
+ }
+
+ @Override
+ public Double getDistinctRowCount(Aggregate rel, RelMetadataQuery mq,
+ ImmutableBitSet groupKey, RexNode predicate) {
+ // Use Calcite distinct row calculation
+ // number of distinct rows can never be more than number of total rows
+ return Math.min(mq.getRowCount(rel),
+ super.getDistinctRowCount(rel, mq, groupKey, predicate));
+ }
+
+ @Override
+ public Double getDistinctRowCount(Filter rel, RelMetadataQuery mq,
+ ImmutableBitSet groupKey, RexNode predicate) {
+ // For the distinct row count, we take the number of distinct rows before the
+ // filter and multiply it by the selectivity
+ // TODO: We can do a little better if the "groupKey" is for the column being
+ // selected. Specifically, if we find the selectivity for col1 and the condition
+ // is "col1 is null", we know there is only one distinct row, but it will multiply
+ // by the selectivity of all the distinct rows.
+ Double rowCount = mq.getRowCount(rel);
+ Preconditions.checkState(rowCount >= 0.0);
+ Double childRowCount = mq.getRowCount(rel.getInput(0));
+ Double distinctRowCount =
+ mq.getDistinctRowCount(rel.getInput(0), groupKey, predicate);
+ Preconditions.checkState(rowCount <= childRowCount);
+ return Math.max(1.0, distinctRowCount * rowCount / childRowCount);
+ }
+
+ @Override
+ public Double getDistinctRowCount(Join rel, RelMetadataQuery mq,
+ ImmutableBitSet groupKey, RexNode predicate) {
+ // Use Calcite distinct row calculation
+ // number of distinct rows can never be more than number of total rows
+ return Math.min(mq.getRowCount(rel),
+ super.getDistinctRowCount(rel, mq, groupKey, predicate));
+ }
+}
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdRowCount.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdRowCount.java
new file mode 100644
index 000000000..67165e3da
--- /dev/null
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdRowCount.java
@@ -0,0 +1,99 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.impala.calcite.schema;
+
+import org.apache.calcite.plan.hep.HepRelVertex;
+import org.apache.calcite.rel.RelNode;
+import org.apache.calcite.rel.core.Aggregate;
+import org.apache.calcite.rel.core.Filter;
+import org.apache.calcite.rel.core.Join;
+import org.apache.calcite.rel.core.TableScan;
+import org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider;
+import org.apache.calcite.rel.metadata.RelMdRowCount;
+import org.apache.calcite.rel.metadata.RelMetadataProvider;
+import org.apache.calcite.rel.metadata.RelMetadataQuery;
+import org.apache.calcite.rex.RexBuilder;
+import org.apache.calcite.rex.RexNode;
+import org.apache.calcite.util.BuiltInMethod;
+import org.apache.impala.calcite.rel.util.PrunedPartitionHelper;
+import org.apache.impala.common.ImpalaException;
+import org.apache.impala.calcite.schema.JoinRelationInfo.EqualityConjunction;
+
+import com.google.common.base.Preconditions;
+
+import static org.apache.calcite.util.NumberUtil.multiply;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * ImpalaRelMdRowCount is an extension of the RelMdRowCount
+ * Calcite class which returns row counts for a given logical RelNode
+ */
+public class ImpalaRelMdRowCount extends RelMdRowCount {
+
+ protected static final Logger LOG =
+ LoggerFactory.getLogger(ImpalaRelMdRowCount.class.getName());
+
+ public static final RelMetadataProvider SOURCE = ReflectiveRelMetadataProvider
+ .reflectiveSource(BuiltInMethod.ROW_COUNT.method, new ImpalaRelMdRowCount());
+
+ protected ImpalaRelMdRowCount() {
+ super();
+ }
+
+ @Override
+ public Double getRowCount(Filter filter, RelMetadataQuery mq) {
+ RelNode input = filter.getInput();
+ CalciteTable table = getTable(input);
+ RexNode condition = filter.getCondition();
+
+ Double inputRowCount = mq.getRowCount(input);
+ Preconditions.checkState(inputRowCount >= 0.0);
+
+ FilterSelectivityEstimator estimator =
+ new FilterSelectivityEstimator(input, mq);
+ Double selectivity = condition != null
+ ? estimator.estimateSelectivity(condition)
+ : 1.0;
+ return multiply(inputRowCount, selectivity);
+ }
+
+ @Override
+ public Double getRowCount(Join join, RelMetadataQuery mq) {
+ RexBuilder rexBuilder = join.getCluster().getRexBuilder();
+
+ // Build information about the join, and get the row count from there
+ // if available
+ JoinRelationInfo info = new JoinRelationInfo(join, rexBuilder, mq);
+ return (info.useDefaultRowCount())
+ ? super.getRowCount(join, mq)
+ : info.getRowCount();
+ }
+
+ @Override
+ public Double getRowCount(TableScan ts, RelMetadataQuery mq) {
+ return ts.getTable().getRowCount();
+ }
+
+ private CalciteTable getTable(RelNode input) {
+ return (input instanceof HepRelVertex)
+ ? (CalciteTable) ((HepRelVertex)input).getCurrentRel().getTable()
+ : (CalciteTable) input.getTable();
+ }
+}
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdSelectivity.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdSelectivity.java
new file mode 100644
index 000000000..d9ffd70bb
--- /dev/null
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdSelectivity.java
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.impala.calcite.schema;
+
+import org.apache.calcite.rel.RelNode;
+import org.apache.calcite.rel.core.Aggregate;
+import org.apache.calcite.rel.core.Filter;
+import org.apache.calcite.rel.core.Join;
+import org.apache.calcite.rel.core.Project;
+import org.apache.calcite.rel.core.Sort;
+import org.apache.calcite.rel.core.Union;
+import org.apache.calcite.rel.metadata.BuiltInMetadata;
+import org.apache.calcite.rel.metadata.MetadataDef;
+import org.apache.calcite.rel.metadata.MetadataHandler;
+import org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider;
+import org.apache.calcite.rel.metadata.RelMetadataProvider;
+import org.apache.calcite.rel.metadata.RelMetadataQuery;
+import org.apache.calcite.rex.RexNode;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * ImpalaRelMdSelectivity is an extension of the Calcite selectivity class.
+ * The selectivity is baked into the row count because of partition pruning
+ * processing. So we override selectivity to always be 1.0.
+ */
+public class ImpalaRelMdSelectivity
+ implements MetadataHandler<BuiltInMetadata.Selectivity> {
+ protected static final Logger LOG =
+ LoggerFactory.getLogger(ImpalaRelMdSelectivity.class.getName());
+
+ public static final RelMetadataProvider SOURCE =
+ ReflectiveRelMetadataProvider.reflectiveSource(
+ new ImpalaRelMdSelectivity(), BuiltInMetadata.Selectivity.Handler.class);
+
+ //~ Constructors -----------------------------------------------------------
+
+ public ImpalaRelMdSelectivity() {}
+
+ //~ Methods ----------------------------------------------------------------
+
+ @Override public MetadataDef<BuiltInMetadata.Selectivity> getDef() {
+ return BuiltInMetadata.Selectivity.DEF;
+ }
+
+ public Double getSelectivity(Aggregate rel, RelMetadataQuery mq, RexNode predicate) {
+ return 1.0;
+ }
+
+ public Double getSelectivity(Filter rel, RelMetadataQuery mq, RexNode predicate) {
+ return 1.0;
+ }
+
+ public Double getSelectivity(Join rel, RelMetadataQuery mq, RexNode predicate) {
+ return 1.0;
+ }
+
+ public Double getSelectivity(Project rel, RelMetadataQuery mq, RexNode predicate) {
+ return 1.0;
+ }
+
+ public Double getSelectivity(Sort rel, RelMetadataQuery mq, RexNode predicate) {
+ return 1.0;
+ }
+
+ public Double getSelectivity(Union rel, RelMetadataQuery mq, RexNode predicate) {
+ return 1.0;
+ }
+
+ public Double getSelectivity(RelNode rel, RelMetadataQuery mq, RexNode predicate) {
+ return 1.0;
+ }
+}
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdSize.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdSize.java
new file mode 100644
index 000000000..d1bfd02fb
--- /dev/null
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdSize.java
@@ -0,0 +1,121 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.impala.calcite.schema;
+
+import java.util.List;
+
+import org.apache.calcite.rel.core.TableScan;
+import org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider;
+import org.apache.calcite.rel.metadata.RelMdSize;
+import org.apache.calcite.rel.metadata.RelMetadataProvider;
+import org.apache.calcite.rel.metadata.RelMetadataQuery;
+import org.apache.calcite.rel.type.RelDataType;
+import org.apache.calcite.rel.type.RelDataTypeField;
+import org.apache.calcite.util.BuiltInMethod;
+import org.apache.impala.catalog.Column;
+
+import com.google.common.base.Preconditions;
+import com.google.common.collect.ImmutableList;
+
+/**
+ * ImpalaRelMdSize is an extension of the RelMdSize
+ * Calcite class which returns the size of a given column datatype.
+ */
+public class ImpalaRelMdSize extends RelMdSize {
+
+ public static final ImpalaRelMdSize INSTANCE = new ImpalaRelMdSize();
+
+ public static final RelMetadataProvider SOURCE =
+ ReflectiveRelMetadataProvider.reflectiveSource(INSTANCE,
+ BuiltInMethod.AVERAGE_COLUMN_SIZES.method,
+ BuiltInMethod.AVERAGE_ROW_SIZE.method);
+
+ //~ Methods ----------------------------------------------------------------
+
+ @Override
+ public List<Double> averageColumnSizes(TableScan scan, RelMetadataQuery mq) {
+ // Obtain list of col stats, or use default if they are not available
+ final ImmutableList.Builder<Double> list = ImmutableList.builder();
+ CalciteTable table = (CalciteTable) scan.getTable();
+ Preconditions.checkState(
+ scan.getRowType().getFieldCount() == table.getColumns().size());
+ for (int i = 0; i < table.getColumns().size(); ++i) {
+ Column c = table.getColumn(i);
+ double avgSize = c.getStats().getAvgSize();
+ if (avgSize == -1) {
+ avgSize = averageTypeValueSize(
+ table.getRowType().getFieldList().get(i).getType());
+ }
+ list.add(avgSize);
+ }
+ return list.build();
+ }
+
+ @Override
+ public Double averageTypeValueSize(RelDataType type) {
+ switch (type.getSqlTypeName()) {
+ case BOOLEAN:
+ case TINYINT:
+ return 1d;
+ case SMALLINT:
+ return 2d;
+ case INTEGER:
+ case FLOAT:
+ case REAL:
+ case DECIMAL:
+ case DATE:
+ case TIME:
+ case INTERVAL_YEAR:
+ case INTERVAL_YEAR_MONTH:
+ case INTERVAL_MONTH:
+ return 4d;
+ case BIGINT:
+ case DOUBLE:
+ case TIMESTAMP:
+ case TIMESTAMP_WITH_LOCAL_TIME_ZONE:
+ case INTERVAL_DAY:
+ case INTERVAL_DAY_HOUR:
+ case INTERVAL_DAY_MINUTE:
+ case INTERVAL_DAY_SECOND:
+ case INTERVAL_HOUR:
+ case INTERVAL_HOUR_MINUTE:
+ case INTERVAL_HOUR_SECOND:
+ case INTERVAL_MINUTE:
+ case INTERVAL_MINUTE_SECOND:
+ case INTERVAL_SECOND:
+ return 8d;
+ case BINARY:
+ return (double) type.getPrecision();
+ case VARBINARY:
+ return Math.min(type.getPrecision(), 100d);
+ case CHAR:
+ return (double) type.getPrecision() * BYTES_PER_CHARACTER;
+ case VARCHAR:
+ // Even in large (say VARCHAR(2000)) columns most strings are small
+ return Math.min((double) type.getPrecision() * BYTES_PER_CHARACTER, 100d);
+ case ROW:
+ Double average = 0.0;
+ for (RelDataTypeField field : type.getFieldList()) {
+ average += averageTypeValueSize(field.getType());
+ }
+ return average;
+ default:
+ return null;
+ }
+ }
+}
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMetadataProvider.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMetadataProvider.java
new file mode 100644
index 000000000..6c348121d
--- /dev/null
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMetadataProvider.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.impala.calcite.schema;
+
+import org.apache.calcite.rel.metadata.ChainedRelMetadataProvider;
+import org.apache.calcite.rel.metadata.JaninoRelMetadataProvider;
+
+import com.google.common.collect.ImmutableList;
+
+public class ImpalaRelMetadataProvider {
+
+ public static final JaninoRelMetadataProvider DEFAULT =
+ JaninoRelMetadataProvider.of(
+ ChainedRelMetadataProvider.of(
+ ImmutableList.of(
+ ImpalaRelMdDistinctRowCount.SOURCE,
+ ImpalaRelMdRowCount.SOURCE,
+ ImpalaRelMdSize.SOURCE,
+ ImpalaRelMdSelectivity.SOURCE,
+ JaninoRelMetadataProvider.DEFAULT)));
+}
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/JoinRelationInfo.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/JoinRelationInfo.java
new file mode 100644
index 000000000..2d993ebdd
--- /dev/null
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/JoinRelationInfo.java
@@ -0,0 +1,219 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.impala.calcite.schema;
+
+import java.util.List;
+
+import org.apache.calcite.plan.RelOptUtil;
+import org.apache.calcite.rel.RelNode;
+import org.apache.calcite.rel.core.Join;
+import org.apache.calcite.rel.core.JoinRelType;
+import org.apache.calcite.rel.metadata.RelMetadataQuery;
+import org.apache.calcite.rex.RexBuilder;
+import org.apache.calcite.rex.RexCall;
+import org.apache.calcite.rex.RexNode;
+import org.apache.calcite.rex.RexUtil;
+import org.apache.calcite.sql.fun.SqlStdOperatorTable;
+import org.apache.calcite.util.ImmutableBitSet;
+import org.apache.calcite.util.Pair;
+import org.apache.impala.planner.JoinNode;
+
+import com.google.common.base.Preconditions;
+import com.google.common.collect.ImmutableList;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * JoinRelationInfo contains metadata information about the Join RelNode.
+ * It calculates row counts based on the conditions in the join and is used
+ * at join ordering optimization time.
+ */
+public class JoinRelationInfo {
+
+ protected static final Logger LOG =
+ LoggerFactory.getLogger(JoinRelationInfo.class.getName());
+
+ private final List<EqualityConjunction> equalityConjunctions_;
+
+ private final RexNode nonEqualityConjunction_;
+
+ private final Double DISTINCT_PERCENTAGE = (1.0 - JoinNode.FK_PK_MAX_STATS_DELTA_PERC);
+
+ private final Join join_;
+
+ private final RelMetadataQuery mq_;
+
+ public JoinRelationInfo(Join join, RexBuilder rexBuilder, RelMetadataQuery mq) {
+ List<RexNode> conjunctions = RelOptUtil.conjunctions(join.getCondition());
+ join_ = join;
+ mq_ = mq;
+ ImmutableList.Builder<EqualityConjunction> equalityConjBuilder =
+ ImmutableList.builder();
+ ImmutableList.Builder<RexNode> nonEqualityConjBuilder = ImmutableList.builder();
+ EqualityConjunction foundConj = null;
+ for (RexNode conjunction : conjunctions) {
+ EqualityConjunction equalityConj = createEqualityConjunction(join, conjunction, mq);
+ if (equalityConj != null) {
+ equalityConjBuilder.add(equalityConj);
+ } else {
+ nonEqualityConjBuilder.add(conjunction);
+ }
+ }
+
+ equalityConjunctions_ = equalityConjBuilder.build();
+ List<RexNode> nonEqualityConjs = nonEqualityConjBuilder.build();
+
+ nonEqualityConjunction_ = nonEqualityConjs.size() > 0
+ ? RexUtil.composeConjunction(rexBuilder, nonEqualityConjs)
+ : null;
+ }
+
+ public boolean useDefaultRowCount() {
+ // if there are no equality conjunctions, just use the Calcite
+ // default row count method.
+ return equalityConjunctions_.size() == 0;
+ }
+
+ public Double getRowCount() {
+ Preconditions.checkState(equalityConjunctions_.size() != 0);
+ // number of rows should be the same on any conjunction so just
+ // use the first.
+ EqualityConjunction conj0 = equalityConjunctions_.get(0);
+
+ Double ret = conj0.lhsNumRows_ * conj0.rhsNumRows_ / getDistinctRows();
+ if (join_.getJoinType() == JoinRelType.LEFT ||
+ join_.getJoinType() == JoinRelType.FULL) {
+ ret = Math.max(conj0.lhsNumRows_, ret);
+ }
+ if (join_.getJoinType() == JoinRelType.RIGHT ||
+ join_.getJoinType() == JoinRelType.FULL) {
+ ret = Math.max(conj0.rhsNumRows_, ret);
+ }
+
+ return ret;
+ }
+
+ private EqualityConjunction createEqualityConjunction(Join join, RexNode conjunction,
+ RelMetadataQuery mq) {
+
+ // get all the join input refs...should be one on the left and one on the right.
+ Pair<Integer, Integer> joinCols = getJoinInputRefs(join, conjunction);
+ if (joinCols == null) {
+ return null;
+ }
+
+ EqualityConjunction candidate = new EqualityConjunction(join, mq, joinCols);
+
+ // one side didn't have statistics so we can't use this to analyze row counts.
+ if (candidate.lhsNumRows_ == null || candidate.rhsNumRows_ == null) {
+ return null;
+ }
+
+ return candidate;
+ }
+
+ /*
+ * 1. Join condition must be an Equality Predicate.
+ * 2. both sides must reference 1 column.
+ * 3. If needed flip the columns.
+ */
+ private static Pair<Integer, Integer> getJoinInputRefs(Join joinRel,
+ RexNode joinCond) {
+
+ if (!(joinCond instanceof RexCall)) {
+ return null;
+ }
+
+ if (((RexCall) joinCond).getOperator() != SqlStdOperatorTable.EQUALS) {
+ return null;
+ }
+
+ ImmutableBitSet leftCols =
+ RelOptUtil.InputFinder.bits(((RexCall) joinCond).getOperands().get(0));
+ ImmutableBitSet rightCols =
+ RelOptUtil.InputFinder.bits(((RexCall) joinCond).getOperands().get(1));
+
+ // Any operator that doesn't have a column from each side of the join would
+ // have been pushed down.
+ Preconditions.checkState(leftCols.cardinality() == 1 && rightCols.cardinality() == 1);
+
+ int nFieldsLeft = joinRel.getLeft().getRowType().getFieldList().size();
+ int nFieldsRight = joinRel.getRight().getRowType().getFieldList().size();
+ ImmutableBitSet rightFieldsBitSet = ImmutableBitSet.range(nFieldsLeft,
+ nFieldsLeft + nFieldsRight);
+ /*
+ * flip column references if join condition specified in reverse order to
+ * join sources.
+ */
+ if (rightFieldsBitSet.contains(leftCols)) {
+ ImmutableBitSet t = leftCols;
+ leftCols = rightCols;
+ rightCols = t;
+ }
+
+ int leftColIdx = leftCols.nextSetBit(0);
+ int rightColIdx = rightCols.nextSetBit(0) - + nFieldsLeft;
+
+ return new Pair<Integer, Integer>(leftColIdx, rightColIdx);
+ }
+
+ public double getDistinctRows() {
+ double maxLeft = 1.0;
+ double maxRight = 1.0;
+ // the number of distinct rows is the maximum of the number of distinct rows
+ // on the left or on the right. If there are multiple columns, we make a
+ // blind assumption that there is no correlation between the columns and thus
+ // multiply the columns to get the number of distinct rows. We also
+ // make sure that the number of distinct rows never exceeds the total number
+ // of rows.
+ for (EqualityConjunction equalityConj : equalityConjunctions_) {
+ if (maxLeft < equalityConj.lhsNumRows_) {
+ maxLeft = Math.min(equalityConj.lhsNumRows_, maxLeft * equalityConj.lhsNdv_);
+ }
+ if (maxRight < equalityConj.rhsNumRows_) {
+ maxRight = Math.min(equalityConj.rhsNumRows_, maxRight * equalityConj.rhsNdv_);
+ }
+ }
+
+ return Math.max(maxLeft, maxRight);
+ }
+
+ public static class EqualityConjunction {
+
+ public final Double lhsNumRows_;
+ public final Double rhsNumRows_;
+ public final Double lhsNdv_;
+ public final Double rhsNdv_;
+
+ public EqualityConjunction(Join join, RelMetadataQuery mq,
+ Pair<Integer, Integer> joinCols) {
+ RelNode leftInput = join.getLeft();
+ RelNode rightInput = join.getRight();
+ lhsNumRows_ = mq.getRowCount(leftInput);
+ rhsNumRows_ = mq.getRowCount(rightInput);
+
+ ImmutableBitSet leftColumnBitSet = ImmutableBitSet.of(joinCols.left);
+ ImmutableBitSet rightColumnBitSet = ImmutableBitSet.of(joinCols.right);
+ lhsNdv_ = mq.getDistinctRowCount(leftInput, leftColumnBitSet, null);
+ rhsNdv_ = mq.getDistinctRowCount(rightInput, rightColumnBitSet, null);
+ }
+ }
+}
+
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteAnalysisDriver.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteAnalysisDriver.java
index 9e950deb6..e6bb6d2b7 100644
--- a/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteAnalysisDriver.java
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteAnalysisDriver.java
@@ -108,7 +108,7 @@ public class CalciteAnalysisDriver implements AnalysisDriver {
// Recall that parsedStmt_.getTablesInQuery(null) only contains TableName's in the
// given query but not the underlying tables referenced by a regular view.
CalciteMetadataHandler.populateCalciteSchema(reader_, ctx_.getCatalog(),
- stmtTableCache_);
+ stmtTableCache_, analyzer_);
typeFactory_ = new JavaTypeFactoryImpl(new ImpalaTypeSystemImpl());
sqlValidator_ = SqlValidatorUtil.newValidator(
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteJniFrontend.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteJniFrontend.java
index fe8d3ee0b..a28bedbf5 100644
--- a/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteJniFrontend.java
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteJniFrontend.java
@@ -39,6 +39,7 @@ import org.apache.impala.common.UnsupportedFeatureException;
import org.apache.impala.service.Frontend;
import org.apache.impala.service.FrontendProfile;
import org.apache.impala.service.JniFrontend;
+import org.apache.impala.thrift.TClientRequest;
import org.apache.impala.thrift.TExecRequest;
import org.apache.impala.thrift.TQueryCtx;
import org.apache.impala.thrift.TQueryOptions;
@@ -268,6 +269,16 @@ public class CalciteJniFrontend extends JniFrontend {
this.timeline_ = new EventSequence("Frontend Timeline (Calcite Planner)");
}
+ public QueryContext(TQueryOptions options, Frontend frontend,
+ String stmt) throws ImpalaException {
+ this.queryCtx_ = new TQueryCtx();
+ this.queryCtx_.setClient_request(new TClientRequest("FeTests", options));
+ this.frontend_ = frontend;
+ this.stmt_ = stmt;
+ this.currentDb_ = "default";
+ this.timeline_ = new EventSequence("Frontend Timeline (Calcite Planner)");
+ }
+
public TQueryCtx getTQueryCtx() {
return queryCtx_;
}
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteMetadataHandler.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteMetadataHandler.java
index 359931216..ad2642948 100644
--- a/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteMetadataHandler.java
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteMetadataHandler.java
@@ -33,11 +33,14 @@ import org.apache.calcite.sql.SqlKind;
import org.apache.calcite.sql.SqlNode;
import org.apache.calcite.sql.SqlSelect;
import org.apache.calcite.sql.util.SqlBasicVisitor;
+import org.apache.impala.analysis.Analyzer;
import org.apache.impala.analysis.StmtMetadataLoader;
import org.apache.impala.analysis.TableName;
+import org.apache.impala.authorization.NoopAuthorizationFactory;
import org.apache.impala.calcite.schema.CalciteDb;
import org.apache.impala.calcite.schema.ImpalaCalciteCatalogReader;
import org.apache.impala.calcite.type.ImpalaTypeSystemImpl;
+import org.apache.impala.calcite.util.SimplifiedAnalyzer;
import org.apache.impala.catalog.FeCatalog;
import org.apache.impala.catalog.FeDb;
import org.apache.impala.catalog.FeTable;
@@ -77,6 +80,8 @@ public class CalciteMetadataHandler implements CompilerStep {
// may be needed by the CalciteTable object
private final CalciteCatalogReader reader_;
+ private final Analyzer analyzer_;
+
public CalciteMetadataHandler(SqlNode parsedNode,
CalciteJniFrontend.QueryContext queryCtx) throws ImpalaException {
@@ -93,11 +98,13 @@ public class CalciteMetadataHandler implements CompilerStep {
this.reader_ = createCalciteCatalogReader(stmtTableCache_,
queryCtx.getTQueryCtx(), queryCtx.getCurrentDb());
+ this.analyzer_ = createAnalyzer(stmtTableCache_, queryCtx);
+
// populate calcite schema. This step needs to be done after the loader because the
// schema needs to contain the columns in the table for validation, which cannot
// be done when it's an IncompleteTable
List<String> errorTables = populateCalciteSchema(reader_,
- queryCtx.getFrontend().getCatalog(), stmtTableCache_);
+ queryCtx.getFrontend().getCatalog(), stmtTableCache_, analyzer_);
tableVisitor.checkForComplexTable(stmtTableCache_, errorTables, queryCtx);
}
@@ -125,8 +132,8 @@ public class CalciteMetadataHandler implements CompilerStep {
* list of tables in the query that are not found in the database.
*/
public static List<String> populateCalciteSchema(CalciteCatalogReader reader,
- FeCatalog catalog, StmtMetadataLoader.StmtTableCache stmtTableCache)
- throws ImpalaException {
+ FeCatalog catalog, StmtMetadataLoader.StmtTableCache stmtTableCache,
+ Analyzer analyzer) throws ImpalaException {
List<String> notFoundTables = new ArrayList<>();
CalciteSchema rootSchema = reader.getRootSchema();
Map<String, CalciteDb.Builder> dbSchemas = new HashMap<>();
@@ -149,7 +156,7 @@ public class CalciteMetadataHandler implements CompilerStep {
// first instance seen in the query.
CalciteDb.Builder dbBuilder =
dbSchemas.getOrDefault(tableName.getDb(), new CalciteDb.Builder(reader));
- dbBuilder.addTable(tableName.getTbl().toLowerCase(), feTable);
+ dbBuilder.addTable(tableName.getTbl().toLowerCase(), feTable, analyzer);
dbSchemas.put(tableName.getDb().toLowerCase(), dbBuilder);
}
@@ -168,6 +175,18 @@ public class CalciteMetadataHandler implements CompilerStep {
return reader_;
}
+ public Analyzer getAnalyzer() {
+ return analyzer_;
+ }
+
+ private Analyzer createAnalyzer(StmtMetadataLoader.StmtTableCache stmtTableCache,
+ CalciteJniFrontend.QueryContext queryCtx) throws ImpalaException {
+ // XXX: using NoopAuthorizationFactory, but this part of the code will
+ // eventually either be deprecated or only used in the test environment.
+ return new SimplifiedAnalyzer(stmtTableCache, queryCtx.getTQueryCtx(),
+ new NoopAuthorizationFactory(), null);
+ }
+
/**
* TableVisitor walks through the AST and places all the tables into
* tableNames
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalcitePhysPlanCreator.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalcitePhysPlanCreator.java
index 868329ba8..551cdcd3f 100644
--- a/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalcitePhysPlanCreator.java
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalcitePhysPlanCreator.java
@@ -50,13 +50,7 @@ public class CalcitePhysPlanCreator implements CompilerStep {
public CalcitePhysPlanCreator(CalciteMetadataHandler mdHandler,
CalciteJniFrontend.QueryContext queryCtx) throws ImpalaException {
- // TODO: IMPALA-13011: Awkward call for authorization here. Authorization
- // will be done at validation time, but this is needed here for the Analyzer
- // instantiation.
- AuthorizationFactory authzFactory =
- AuthorizationUtil.authzFactoryFrom(BackendConfig.INSTANCE);
- this.analyzer_ = new SimplifiedAnalyzer(mdHandler.getStmtTableCache(),
- queryCtx.getTQueryCtx(), authzFactory, null);
+ this.analyzer_ = mdHandler.getAnalyzer();
this.plannerContext_ =
new PlannerContext(analyzer_, queryCtx.getTQueryCtx(), queryCtx.getTimeline());
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteRelNodeConverter.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteRelNodeConverter.java
index 73ff79fee..038bfa0cc 100644
--- a/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteRelNodeConverter.java
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteRelNodeConverter.java
@@ -31,27 +31,27 @@ import org.apache.calcite.plan.hep.HepMatchOrder;
import org.apache.calcite.plan.hep.HepPlanner;
import org.apache.calcite.plan.hep.HepProgramBuilder;
import org.apache.calcite.plan.volcano.VolcanoPlanner;
+import org.apache.calcite.prepare.CalciteCatalogReader;
+import org.apache.calcite.prepare.PlannerImpl;
import org.apache.calcite.rel.RelNode;
import org.apache.calcite.rel.RelRoot;
import org.apache.calcite.rel.core.RelFactories;
import org.apache.calcite.rel.rules.CoreRules;
import org.apache.calcite.rex.RexBuilder;
+import org.apache.calcite.schema.SchemaPlus;
import org.apache.calcite.sql.parser.SqlParser;
import org.apache.calcite.sql.SqlExplainFormat;
import org.apache.calcite.sql.SqlExplainLevel;
import org.apache.calcite.sql.SqlNode;
+import org.apache.calcite.sql.validate.SqlValidator;
import org.apache.calcite.sql2rel.RelDecorrelator;
import org.apache.calcite.sql2rel.SqlToRelConverter;
-import org.apache.impala.calcite.operators.ImpalaConvertletTable;
-import org.apache.calcite.prepare.PlannerImpl;
-import org.apache.calcite.schema.SchemaPlus;
import org.apache.calcite.sql2rel.StandardConvertletTable;
import org.apache.calcite.tools.FrameworkConfig;
import org.apache.calcite.tools.Frameworks;
import org.apache.calcite.tools.RelBuilder;
-
-import org.apache.calcite.sql.validate.SqlValidator;
-import org.apache.calcite.prepare.CalciteCatalogReader;
+import org.apache.impala.calcite.operators.ImpalaConvertletTable;
+import org.apache.impala.calcite.schema.ImpalaRelMetadataProvider;
import java.util.List;
@@ -88,6 +88,7 @@ public class CalciteRelNodeConverter implements CompilerStep {
RelOptCluster.create(planner_, new RexBuilder(typeFactory_));
viewExpander_ = createViewExpander(
analysisResult.getSqlValidator().getCatalogReader().getRootSchema().plus());
+ cluster_.setMetadataProvider(ImpalaRelMetadataProvider.DEFAULT);
}
public CalciteRelNodeConverter(CalciteValidator validator) {
@@ -100,6 +101,7 @@ public class CalciteRelNodeConverter implements CompilerStep {
RelOptCluster.create(planner_, new RexBuilder(typeFactory_));
viewExpander_ = createViewExpander(validator.getCatalogReader()
.getRootSchema().plus());
+ cluster_.setMetadataProvider(ImpalaRelMetadataProvider.DEFAULT);
}
private static RelOptTable.ViewExpander createViewExpander(SchemaPlus schemaPlus) {
diff --git a/java/calcite-planner/src/test/java/org/apache/impala/planner/TestCalciteStats.java b/java/calcite-planner/src/test/java/org/apache/impala/planner/TestCalciteStats.java
new file mode 100644
index 000000000..c113b85d6
--- /dev/null
+++ b/java/calcite-planner/src/test/java/org/apache/impala/planner/TestCalciteStats.java
@@ -0,0 +1,606 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+package org.apache.impala.planner;
+
+
+import org.apache.impala.common.ImpalaException;
+import org.apache.impala.common.RuntimeEnv;
+import org.apache.impala.thrift.TQueryOptions;
+import org.apache.impala.thrift.TSessionState;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+
+import java.util.List;
+import java.util.Set;
+
+import org.apache.calcite.jdbc.JavaTypeFactoryImpl;
+import org.apache.calcite.plan.RelOptCluster;
+import org.apache.calcite.plan.RelOptCostImpl;
+import org.apache.calcite.plan.RelOptPlanner;
+import org.apache.calcite.plan.hep.HepPlanner;
+import org.apache.calcite.plan.hep.HepProgramBuilder;
+import org.apache.calcite.plan.volcano.VolcanoPlanner;
+import org.apache.calcite.rel.core.Filter;
+import org.apache.calcite.rel.RelNode;
+import org.apache.calcite.rel.metadata.DefaultRelMetadataProvider;
+import org.apache.calcite.rel.metadata.JaninoRelMetadataProvider;
+import org.apache.calcite.rel.metadata.RelMetadataQuery;
+import org.apache.calcite.rel.rules.CoreRules;
+import org.apache.calcite.rel.type.RelDataTypeFactory;
+import org.apache.calcite.rex.RexBuilder;
+import org.apache.calcite.rex.RexNode;
+import org.apache.calcite.sql.SqlNode;
+import org.apache.calcite.util.ImmutableBitSet;
+import org.apache.impala.analysis.Expr;
+import org.apache.impala.calcite.operators.ImpalaOperatorTable;
+import org.apache.impala.calcite.rel.util.PrunedPartitionHelper;
+import org.apache.impala.calcite.schema.ImpalaRelMetadataProvider;
+import org.apache.impala.calcite.schema.CalciteTable;
+import org.apache.impala.calcite.schema.FilterSelectivityEstimator;
+import org.apache.impala.calcite.service.CalciteJniFrontend.QueryContext;
+import org.apache.impala.calcite.service.CalciteMetadataHandler;
+import org.apache.impala.calcite.service.CalciteQueryParser;
+import org.apache.impala.calcite.service.CalciteRelNodeConverter;
+import org.apache.impala.calcite.service.CalciteValidator;
+import org.apache.impala.calcite.type.ImpalaTypeSystemImpl;
+import org.apache.impala.catalog.BuiltinsDb;
+import org.apache.impala.catalog.FeFsPartition;
+import com.google.common.base.Preconditions;
+
+import static org.junit.Assert.assertEquals;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class TestCalciteStats extends PlannerTestBase {
+ protected static final Logger LOG =
+ LoggerFactory.getLogger(TestCalciteStats.class.getName());
+
+ // Planner test option to run each planner test.
+ private static Set<PlannerTestOption> testOptions = tpcdsParquetTestOptions();
+
+ private static final double ALL_TYPES_CARD = 7300.0;
+
+ private static final double ALL_TYPES_TINY_CARD = 8.0;
+
+ private static final double BIGINT_NDV = 10.0;
+
+ private static final double BIGINT_TINY_NDV = 2.0;
+
+ private static final double DOUBLE_ERR = .000001;
+
+ private static final double PARTITIONED_MONTH_ROWS = 560.0;
+
+ // Query option to run each planner test.
+ private static TQueryOptions options =
+ tpcdsParquetQueryOptions();
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+ RuntimeEnv.INSTANCE.setTestEnv(true);
+ ImpalaOperatorTable.create(BuiltinsDb.getInstance());
+ RelMetadataQuery.THREAD_PROVIDERS.set(
+ JaninoRelMetadataProvider.of(DefaultRelMetadataProvider.INSTANCE));
+ }
+
+ @AfterClass
+ public static void cleanUpClass() {
+ RuntimeEnv.INSTANCE.reset();
+ }
+
+ private RelNode getRelNodeForQuery(String query) throws ImpalaException {
+ QueryContext queryCtx = new QueryContext(options, frontend_, query);
+ TSessionState session = new TSessionState();
+ session.setConnected_user("dummy");
+ queryCtx.getTQueryCtx().setSession(session);
+ CalciteQueryParser queryParser = new CalciteQueryParser(queryCtx);
+ SqlNode parsedSqlNode = queryParser.parse();
+
+ // Make sure the metadata cache has all the info for the query.
+ CalciteMetadataHandler mdHandler =
+ new CalciteMetadataHandler(parsedSqlNode, queryCtx);
+ CalciteValidator validator = new CalciteValidator(mdHandler, queryCtx);
+ SqlNode validatedNode = validator.validate(parsedSqlNode);
+ CalciteRelNodeConverter relNodeConverter = new CalciteRelNodeConverter(validator);
+ return relNodeConverter.convert(validatedNode);
+ }
+
+ private RelMetadataQuery getMQ() {
+ RelDataTypeFactory typeFactory_ = new JavaTypeFactoryImpl(new ImpalaTypeSystemImpl());
+ RelOptPlanner planner_ = new VolcanoPlanner();
+ RelOptCluster cluster = RelOptCluster.create(planner_, new RexBuilder(typeFactory_));
+ cluster.setMetadataProvider(ImpalaRelMetadataProvider.DEFAULT);
+ return cluster.getMetadataQuery();
+ }
+
+ @Test
+ public void testSimpleQuery() {
+ try {
+ RelNode logicalPlan =
+ getRelNodeForQuery("SELECT id FROM functional.alltypes");
+ RelMetadataQuery mq = getMQ();
+ assertEquals(ALL_TYPES_CARD, (double) mq.getRowCount(logicalPlan), DOUBLE_ERR);
+ assertEquals(1.0, (double) mq.getSelectivity(logicalPlan, null), DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Test
+ public void testFilterNotEquals() {
+ try {
+ RelNode logicalPlan = getRelNodeForQuery("SELECT bigint_col " +
+ "FROM functional.alltypes where bigint_col != 10");
+ RelMetadataQuery mq = getMQ();
+ double cardinality = (10.0 - 1.0) * ALL_TYPES_CARD/10.0;
+ assertEquals(cardinality, (double) mq.getRowCount(logicalPlan), DOUBLE_ERR);
+ ImmutableBitSet bitSet = ImmutableBitSet.of(0);
+ assertEquals(9.0, (double) mq.getDistinctRowCount(logicalPlan, bitSet, null),
+ DOUBLE_ERR);
+ assertEquals(1.0, (double) mq.getSelectivity(logicalPlan, null), DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Test
+ public void testFilterEquals() {
+ try {
+ RelNode logicalPlan = getRelNodeForQuery("SELECT bigint_col, id " +
+ "FROM functional.alltypes where bigint_col = 10");
+ RelMetadataQuery mq = getMQ();
+ double cardinality = ALL_TYPES_CARD/10.0;
+ assertEquals(cardinality, (double) mq.getRowCount(logicalPlan), DOUBLE_ERR);
+ ImmutableBitSet bitSet = ImmutableBitSet.of(0);
+ assertEquals(1.0, (double) mq.getDistinctRowCount(logicalPlan, bitSet, null),
+ DOUBLE_ERR);
+ bitSet = ImmutableBitSet.of(1);
+ double distinctId = ALL_TYPES_CARD / BIGINT_NDV;
+ assertEquals(distinctId, (double) mq.getDistinctRowCount(logicalPlan, bitSet, null),
+ DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Test
+ public void testFilterAnd() {
+ try {
+ RelNode logicalPlan = getRelNodeForQuery("SELECT bigint_col " +
+ "FROM functional.alltypes where bigint_col = 10 and smallint_col = 10");
+ RelMetadataQuery mq = getMQ();
+ double cardinality = ALL_TYPES_CARD/100.0;
+ assertEquals(cardinality, (double) mq.getRowCount(logicalPlan), DOUBLE_ERR);
+ ImmutableBitSet bitSet = ImmutableBitSet.of(0);
+ assertEquals(1.0, (double) mq.getDistinctRowCount(logicalPlan, bitSet, null),
+ DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Test
+ public void testFilterOr() {
+ try {
+ RelNode logicalPlan = getRelNodeForQuery("SELECT bigint_col " +
+ "FROM functional.alltypes where bigint_col = 10 or smallint_col = 10");
+ RelMetadataQuery mq = getMQ();
+ Double cardinality = ALL_TYPES_CARD * (1.0 - .9 * .9);
+ assertEquals(cardinality, (double) mq.getRowCount(logicalPlan), DOUBLE_ERR);
+ ImmutableBitSet bitSet = ImmutableBitSet.of(0);
+ Double distinctRows = 10.0 * cardinality / ALL_TYPES_CARD;
+ assertEquals(distinctRows, (double) mq.getDistinctRowCount(logicalPlan,
+ bitSet, null), DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Test
+ public void testFilterIsNull() {
+ try {
+ RelNode logicalPlan = getRelNodeForQuery("SELECT some_nulls " +
+ "FROM functional.nullrows where some_nulls is null");
+ RelMetadataQuery mq = getMQ();
+ assertEquals(20.0, (double) mq.getRowCount(logicalPlan), DOUBLE_ERR);
+ ImmutableBitSet bitSet = ImmutableBitSet.of(0);
+ // TODO: incorrect value here...it should be 1, but it is taking a percentage of
+ // distinct rows
+ Double incorrectDistinctRowCount = 6.0 * 20.0/26.0;
+ assertEquals(incorrectDistinctRowCount, (double) mq.getDistinctRowCount(
+ logicalPlan, bitSet, null), DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Test
+ public void testFilterIsNotNull() {
+ try {
+ RelNode logicalPlan = getRelNodeForQuery("SELECT some_nulls " +
+ "FROM functional.nullrows where some_nulls is not null");
+ RelMetadataQuery mq = getMQ();
+ assertEquals(6.0, (double) mq.getRowCount(logicalPlan), DOUBLE_ERR);
+ ImmutableBitSet bitSet = ImmutableBitSet.of(0);
+ Double distinctRowCount = 6.0 * 6.0/26.0;
+ assertEquals(distinctRowCount, (double) mq.getDistinctRowCount(
+ logicalPlan, bitSet, null), DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Test
+ public void testFilterBoolean() {
+ try {
+ RelNode logicalPlan =
+ getRelNodeForQuery("SELECT bool_col FROM functional.alltypes where bool_col");
+ RelMetadataQuery mq = getMQ();
+ assertEquals((double) mq.getRowCount(logicalPlan), ALL_TYPES_CARD/2.0, DOUBLE_ERR);
+ ImmutableBitSet bitSet = ImmutableBitSet.of(0);
+ assertEquals(1.0, (double) mq.getDistinctRowCount(logicalPlan, bitSet, null),
+ DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Test
+ public void testFilterInequality() {
+ try {
+ RelNode logicalPlan = getRelNodeForQuery("SELECT bigint_col " +
+ "FROM functional.alltypes where bigint_col < 5");
+ RelMetadataQuery mq = getMQ();
+ double cardinality =
+ ALL_TYPES_CARD * FilterSelectivityEstimator.RANGE_COMPARISON_SELECTIVITY;
+ assertEquals(cardinality, (double) mq.getRowCount(logicalPlan), DOUBLE_ERR);
+ ImmutableBitSet bitSet = ImmutableBitSet.of(0);
+ double distinctRows =
+ BIGINT_NDV * FilterSelectivityEstimator.RANGE_COMPARISON_SELECTIVITY;
+ assertEquals(distinctRows, (double) mq.getDistinctRowCount(logicalPlan,
+ bitSet, null), DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Test
+ public void testFilterBetween() {
+ try {
+ RelNode logicalPlan = getRelNodeForQuery("SELECT bigint_col " +
+ "FROM functional.alltypes where bigint_col between 1 and 2");
+ // TODO: Need to apply Impala selectivity logic for between
+ RelMetadataQuery mq = getMQ();
+ double cardinality =
+ ALL_TYPES_CARD * FilterSelectivityEstimator.BETWEEN_SELECTIVITY;
+ assertEquals(cardinality, (double) mq.getRowCount(logicalPlan), DOUBLE_ERR);
+ ImmutableBitSet bitSet = ImmutableBitSet.of(0);
+ double distinctRows =
+ BIGINT_NDV * FilterSelectivityEstimator.BETWEEN_SELECTIVITY;
+ assertEquals(distinctRows, (double) mq.getDistinctRowCount(logicalPlan,
+ bitSet, null), DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Test
+ public void testFilterIn() {
+ try {
+ RelNode logicalPlan = getRelNodeForQuery("SELECT bigint_col " +
+ "FROM functional.alltypes where bigint_col in (1,2)");
+ // TODO: It's using "OR" logic, not "IN" logic
+ RelMetadataQuery mq = getMQ();
+ Double cardinality = ALL_TYPES_CARD * (1.0 - .9 * .9);
+ assertEquals(cardinality, (double) mq.getRowCount(logicalPlan), DOUBLE_ERR);
+ ImmutableBitSet bitSet = ImmutableBitSet.of(0);
+ Double distinctRows = 10.0 * cardinality / ALL_TYPES_CARD;
+ assertEquals(distinctRows, (double) mq.getDistinctRowCount(logicalPlan,
+ bitSet, null), DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ // Simple Join test.
+ // alltypes has 7300 rows, all unique on id
+ // alltypestiny has 8 rows, all unique on id
+ // So a good guess on the join is 8
+ // (<num rows alltypes> * <num rows alltypetiny> / <distinct rows alltypes>
+ // The numerator is the number of rows if it were a cross join. Dividing
+ // by the number of distinct rows in this join gives us the
+ // number of rows in the tiny table.
+ @Test
+ public void testSimpleInnerJoin() {
+ try {
+ RelNode logicalPlan = getRelNodeForQuery("SELECT a.id FROM functional.alltypes a " +
+ "inner join functional.alltypestiny b on (a.id= b.id)");
+ RelMetadataQuery mq = getMQ();
+ assertEquals(ALL_TYPES_TINY_CARD, (double) mq.getRowCount(logicalPlan), DOUBLE_ERR);
+ ImmutableBitSet bitSet = ImmutableBitSet.of(0);
+ // value not exactly 8 because we're using Calcite's estimation for distinct row
+ // count
+ assertEquals(7.9961654, (double) mq.getDistinctRowCount(logicalPlan, bitSet, null),
+ DOUBLE_ERR);
+ assertEquals(1.0, (double) mq.getSelectivity(logicalPlan, null), DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ // Slightly more complicated Join test.
+ // alltypes has 7300 rows, 10 distinct bigint_col rows
+ // alltypestiny has 8 rows, 2 distinct bigint_col rows
+ // The number of total rows calculated uses the below formula
+ // (<num rows alltypes> * <num rows alltypetiny> / <distinct rows alltypes>
+ // There are 730 rows for every distinct bigint_col in the big table. Each
+ // of the 8 rows will be joined with 730 rows, giving us 730 * 8 = 5840 rows.
+ // (which matches the rows if you did the select within impala-shell)
+ @Test
+ public void testInnerJoinSlightCross() {
+ try {
+ RelNode logicalPlan = getRelNodeForQuery("SELECT a.bigint_col FROM " +
+ "functional.alltypes a inner join functional.alltypestiny b " +
+ "on (a.bigint_col= b.bigint_col)");
+ RelMetadataQuery mq = getMQ();
+ double cardinality = ALL_TYPES_CARD * ALL_TYPES_TINY_CARD / BIGINT_NDV;
+ assertEquals(cardinality, (double) mq.getRowCount(logicalPlan), DOUBLE_ERR);
+ ImmutableBitSet bitSet = ImmutableBitSet.of(0);
+ // value not exactly 8 because we're using Calcite's estimation for distinct row
+ // count
+ assertEquals(10.0, (double) mq.getDistinctRowCount(logicalPlan, bitSet, null),
+ DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Test
+ public void testInnerJoinSlightCrossWithFilter() {
+ try {
+ RelNode logicalPlan = getRelNodeForQuery("SELECT a.bigint_col FROM " +
+ "functional.alltypes a inner join functional.alltypestiny b on " +
+ "(a.bigint_col= b.bigint_col) and b.bigint_col = 10");
+ logicalPlan = pushFilterIntoOrBelowJoin(logicalPlan);
+ RelMetadataQuery mq = getMQ();
+ // half of the number of rows from testSimpleInnerJoinSlightCross()
+ double cardinality = .5 * ALL_TYPES_CARD * ALL_TYPES_TINY_CARD / BIGINT_NDV;
+ assertEquals(cardinality, (double) mq.getRowCount(logicalPlan), DOUBLE_ERR);
+ ImmutableBitSet bitSet = ImmutableBitSet.of(0);
+ // value not exactly 8 because we're using Calcite's estimation for distinct row
+ // count
+ assertEquals(10.0, (double) mq.getDistinctRowCount(logicalPlan, bitSet, null),
+ DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Test
+ public void testInnerJoinWithMultipleConditionFilter() {
+ try {
+ RelNode logicalPlan = getRelNodeForQuery("SELECT a.year, a.month FROM " +
+ "functional.alltypestiny a, functional.alltypes b where " +
+ "a.year = b.year and a.month = b.month");
+ logicalPlan = pushFilterIntoOrBelowJoin(logicalPlan);
+ RelMetadataQuery mq = getMQ();
+ // The approximate number of rows is calculated as follows:
+ // There are 2 unique years in alltypes and 12 unique months, giving us 24 distinct
+ // rows. This gives us a distribution of 7300/24 rows for each row in the
+ // alltypestiny table. So the stats return 8 * 7300/24 rows, or 2433.333333 rows.
+ // Note: The actual select in impala-shell gives us 2400 rows, which isn't exact,
+ // but the approximation here is pretty good.
+ double cardinality = ALL_TYPES_CARD * ALL_TYPES_TINY_CARD / (2.0 * 12.0);
+ assertEquals(cardinality, (double) mq.getRowCount(logicalPlan), DOUBLE_ERR);
+ ImmutableBitSet bitSet = ImmutableBitSet.of(0);
+ assertEquals(1.0, (double) mq.getDistinctRowCount(logicalPlan, bitSet, null),
+ DOUBLE_ERR);
+ bitSet = ImmutableBitSet.of(1);
+ assertEquals(4.0, (double) mq.getDistinctRowCount(logicalPlan, bitSet, null),
+ DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Test
+ public void testLeftJoin() {
+ try {
+ RelNode logicalPlan = getRelNodeForQuery("SELECT a.id, b.id FROM " +
+ "functional.alltypes a left join functional.alltypestiny b on ( a.id = b.id)");
+ RelMetadataQuery mq = getMQ();
+ assertEquals(ALL_TYPES_CARD, (double) mq.getRowCount(logicalPlan), DOUBLE_ERR);
+ ImmutableBitSet bitSet = ImmutableBitSet.of(0);
+ // Using Calcite's distinct row count, can prolly do better here.
+ assertEquals(4614.6640296686, (double) mq.getDistinctRowCount(logicalPlan,
+ bitSet, null), DOUBLE_ERR);
+ bitSet = ImmutableBitSet.of(1);
+ assertEquals(8.0, (double) mq.getDistinctRowCount(logicalPlan, bitSet, null),
+ DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Test
+ public void testRightJoin() {
+ try {
+ RelNode logicalPlan = getRelNodeForQuery("SELECT b.id, a.id FROM " +
+ "functional.alltypestiny a right join functional.alltypes b " +
+ "on ( a.id = b.id)");
+ RelMetadataQuery mq = getMQ();
+ assertEquals(ALL_TYPES_CARD, (double) mq.getRowCount(logicalPlan), DOUBLE_ERR);
+ ImmutableBitSet bitSet = ImmutableBitSet.of(0);
+ // Using Calcite's distinct row count, can prolly do better here.
+ assertEquals(4614.6640296686, (double) mq.getDistinctRowCount(logicalPlan,
+ bitSet, null), DOUBLE_ERR);
+ bitSet = ImmutableBitSet.of(1);
+ assertEquals(8.0, (double) mq.getDistinctRowCount(logicalPlan, bitSet, null),
+ DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Test
+ public void testSimpleQueryNoStats() {
+ try {
+ RelMetadataQuery mq = getMQ();
+ assertEquals(17545.0, (double) mq.getRowCount(getRelNodeForQuery(
+ "SELECT id FROM functional_parquet.alltypesagg_hive_13_1")), DOUBLE_ERR);
+ // Even though there are no stats, filter estimator will still return 1 since
+ // this is an exact match.
+ assertEquals(1.0, (double) mq.getRowCount(getRelNodeForQuery("SELECT" +
+ " bigint_col, id FROM functional_parquet.alltypes where bigint_col = 10")),
+ DOUBLE_ERR);
+ assertEquals(758.0, (double) mq.getRowCount(getRelNodeForQuery(
+ "SELECT a.id FROM functional_parquet.alltypes a inner join " +
+ "functional_parquet.alltypestiny b on (a.id= b.id)")), DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Test
+ public void testAggregate() {
+ try {
+ RelNode logicalPlan = getRelNodeForQuery("SELECT bigint_col FROM " +
+ "functional.alltypes group by bigint_col");
+ RelMetadataQuery mq = getMQ();
+ assertEquals(BIGINT_NDV, (double) mq.getRowCount(logicalPlan), DOUBLE_ERR);
+ ImmutableBitSet bitSet = ImmutableBitSet.of(0);
+ // Using Calcite's distinct row count, can prolly do better here.
+ assertEquals(BIGINT_NDV, (double) mq.getDistinctRowCount(logicalPlan,
+ bitSet, null), DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Test
+ public void testAggregateWithHaving() {
+ try {
+ RelNode logicalPlan = getRelNodeForQuery("SELECT bigint_col FROM " +
+ "functional.alltypes group by bigint_col HAVING bigint_col >= 5");
+ RelMetadataQuery mq = getMQ();
+ double selectivity =
+ BIGINT_NDV * FilterSelectivityEstimator.RANGE_COMPARISON_SELECTIVITY;
+ assertEquals(selectivity, (double) mq.getRowCount(logicalPlan), DOUBLE_ERR);
+ ImmutableBitSet bitSet = ImmutableBitSet.of(0);
+ // Using Calcite's distinct row count, can prolly do better here.
+ assertEquals(selectivity, (double) mq.getDistinctRowCount(logicalPlan,
+ bitSet, null), DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Test
+ public void testUnion() {
+ try {
+ RelNode logicalPlan = getRelNodeForQuery("SELECT bigint_col FROM " +
+ "functional.alltypes union all SELECT bigint_col FROM " +
+ "functional.alltypestiny");
+ RelMetadataQuery mq = getMQ();
+ double cardinality = ALL_TYPES_CARD + ALL_TYPES_TINY_CARD;
+ assertEquals(cardinality, (double) mq.getRowCount(logicalPlan), DOUBLE_ERR);
+ ImmutableBitSet bitSet = ImmutableBitSet.of(0);
+ // Using Calcite's distinct row count, can prolly do better here.
+ double distinctRows = BIGINT_NDV + BIGINT_TINY_NDV;
+ assertEquals(distinctRows, (double) mq.getDistinctRowCount(logicalPlan,
+ bitSet, null), DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Test
+ public void testSize() {
+ try {
+ RelNode logicalPlan =
+ getRelNodeForQuery("select * from functional.alltypes");
+ RelMetadataQuery mq = getMQ();
+ List<Double> avgColumnSizes = mq.getAverageColumnSizes(logicalPlan);
+ // id
+ assertEquals(4.0, (double) avgColumnSizes.get(0), DOUBLE_ERR);
+ // bool_col
+ assertEquals(1.0, (double) avgColumnSizes.get(1), DOUBLE_ERR);
+ // tinyint_col
+ assertEquals(1.0, (double) avgColumnSizes.get(2), DOUBLE_ERR);
+ // smallint_col
+ assertEquals(2.0,(double) avgColumnSizes.get(3), DOUBLE_ERR);
+ // int_col
+ assertEquals(4.0, (double) avgColumnSizes.get(4), DOUBLE_ERR);
+ // bigint_col
+ assertEquals(8.0, (double) avgColumnSizes.get(5), DOUBLE_ERR);
+ // float_col
+ assertEquals(4.0, (double) avgColumnSizes.get(6), DOUBLE_ERR);
+ // double_col
+ assertEquals(8.0, (double) avgColumnSizes.get(7), DOUBLE_ERR);
+ // datestring_col
+ assertEquals(8.0, (double) avgColumnSizes.get(8), DOUBLE_ERR);
+ // string_col
+ assertEquals(1.0, (double) avgColumnSizes.get(9), DOUBLE_ERR);
+ // timestamp_col
+ assertEquals(16.0, (double) avgColumnSizes.get(10), DOUBLE_ERR);
+ // year
+ assertEquals(4.0, (double) avgColumnSizes.get(11), DOUBLE_ERR);
+ // month
+ assertEquals(4.0, (double) avgColumnSizes.get(12), DOUBLE_ERR);
+ } catch (ImpalaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+
+ private RelNode pushFilterIntoOrBelowJoin(RelNode logicalPlan) {
+ HepProgramBuilder builder = new HepProgramBuilder();
+ builder.addRuleInstance(CoreRules.FILTER_INTO_JOIN);
+ builder.addRuleInstance(CoreRules.JOIN_CONDITION_PUSH);
+ HepPlanner planner = new HepPlanner(builder.build(),
+ logicalPlan.getCluster().getPlanner().getContext(), true, null,
+ RelOptCostImpl.FACTORY);
+ planner.setRoot(logicalPlan);
+ return planner.findBestExp();
+ }
+
+ // very basic method to get table, only looks at first input.
+ private RexNode getFirstFilterCondition(RelNode relNode) {
+ while (relNode.getInputs().size() > 0) {
+ relNode = relNode.getInput(0);
+ if (relNode instanceof Filter) {
+ break;
+ }
+ }
+ if (!(relNode instanceof Filter)) {
+ return null;
+ }
+ Filter filter = (Filter) relNode;
+ return filter.getCondition();
+ }
+
+ // very basic method to get table, only looks at first input.
+ private CalciteTable getTable(RelNode relNode) {
+ while (relNode.getInputs().size() > 0) {
+ relNode = relNode.getInput(0);
+ }
+ return (CalciteTable) relNode.getTable();
+ }
+}
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q01.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q01.test
index 8140ac258..f0fdce12e 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q01.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q01.test
@@ -25,11 +25,11 @@ limit 100
# end query 1 in stream 0 using template query1.tpl
---- PLAN
-Max Per-Host Resource Reservation: Memory=119.38MB Threads=1
-Per-Host Resource Estimates: Memory=11.70GB
+Max Per-Host Resource Reservation: Memory=130.04MB Threads=1
+Per-Host Resource Estimates: Memory=13.04GB
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=11.70GB mem-reservation=119.38MB thread-reservation=1 runtime-filters-memory=12.00MB
-| max-parallelism=1 segment-costs=[1214229476, 1214229476, 4705461, 14725772215, 100]
+| Per-Instance Resources: mem-estimate=13.04GB mem-reservation=130.04MB thread-reservation=1 runtime-filters-memory=20.00MB
+| max-parallelism=1 segment-costs=[1214229476, 1214229476, 4705461, 13864191355, 100]
PLAN-ROOT SINK
| output exprs: c_customer_id
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=100
@@ -37,42 +37,60 @@ PLAN-ROOT SINK
14:TOP-N [LIMIT=100]
| order by: c_customer_id ASC NULLS LAST
| mem-estimate=2.73KB mem-reservation=0B thread-reservation=0
-| tuple-ids=16 row-size=28B cardinality=100 cost=14460779864
-| in pipelines: 14(GETNEXT), 06(OPEN)
+| tuple-ids=16 row-size=28B cardinality=100 cost=13219387793
+| in pipelines: 14(GETNEXT), 04(OPEN)
|
13:HASH JOIN [INNER JOIN]
+| hash predicates: tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk = tpcds_partitioned_parquet_snap.customer.c_customer_sk
+| fk/pk conjuncts: none
+| runtime filters: RF000[bloom] <- tpcds_partitioned_parquet_snap.customer.c_customer_sk, RF001[min_max] <- tpcds_partitioned_parquet_snap.customer.c_customer_sk
+| mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=6,7,15,0 row-size=707B cardinality=793.12M cost=395326499
+| in pipelines: 04(GETNEXT), 00(OPEN)
+|
+|--00:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+| HDFS partitions=1/1 files=1 size=1.55GB
+| stored statistics:
+| table: rows=30.00M size=1.55GB
+| columns: all
+| extrapolated-rows=disabled max-scan-range-rows=3.10M
+| mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| tuple-ids=0 row-size=204B cardinality=30.00M cost=46823813
+| in pipelines: 00(GETNEXT)
+|
+12:HASH JOIN [INNER JOIN]
| hash predicates: tpcds_partitioned_parquet_snap.store_returns.sr_store_sk = tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
| fk/pk conjuncts: none
| other join predicates: sum(tpcds_partitioned_parquet_snap.store_returns.sr_fee) > multiply(avg(sum(tpcds_partitioned_parquet_snap.store_returns_0.sr_fee)), CAST(1.2 AS DECIMAL(2,1)))
-| runtime filters: RF000[bloom] <- tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk, RF001[min_max] <- tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
+| runtime filters: RF002[bloom] <- tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk, RF003[min_max] <- tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
| mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=7,4,5,15 row-size=707B cardinality=863.99M cost=159161683
-| in pipelines: 06(GETNEXT), 12(OPEN)
+| tuple-ids=6,7,15 row-size=503B cardinality=863.99M cost=159394557
+| in pipelines: 04(GETNEXT), 11(OPEN)
|
-|--12:AGGREGATE [FINALIZE]
+|--11:AGGREGATE [FINALIZE]
| | output: avg(sum(tpcds_partitioned_parquet_snap.store_returns_0.sr_fee))
| | group by: tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
| | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
| | tuple-ids=15 row-size=20B cardinality=653 cost=4705461
-| | in pipelines: 12(GETNEXT), 11(OPEN)
+| | in pipelines: 11(GETNEXT), 10(OPEN)
| |
-| 11:AGGREGATE [FINALIZE]
+| 10:AGGREGATE [FINALIZE]
| | output: sum(tpcds_partitioned_parquet_snap.store_returns_0.sr_fee)
| | group by: tpcds_partitioned_parquet_snap.store_returns_0.sr_customer_sk, tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
| | having: is_not_null_pred(tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk)
| | mem-estimate=3.24GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=13 row-size=24B cardinality=16.08M cost=949210422
-| | in pipelines: 11(GETNEXT), 08(OPEN)
+| | in pipelines: 10(GETNEXT), 07(OPEN)
| |
-| 10:HASH JOIN [INNER JOIN]
+| 09:HASH JOIN [INNER JOIN]
| | hash predicates: tpcds_partitioned_parquet_snap.store_returns_0.sr_returned_date_sk = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_returns_0.sr_returned_date_sk = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
| | runtime filters: RF008[bloom] <- tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
| | mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
| | tuple-ids=9,11 row-size=321B cardinality=160.81M cost=70387897
-| | in pipelines: 08(GETNEXT), 09(OPEN)
+| | in pipelines: 07(GETNEXT), 08(OPEN)
| |
-| |--09:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| |--08:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
| | HDFS partitions=1/1 files=1 size=2.17MB
| | predicates: tpcds_partitioned_parquet_snap.date_dim_0.d_year = CAST(2000 AS INT)
| | stored statistics:
@@ -83,9 +101,9 @@ PLAN-ROOT SINK
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim_0.d_year = CAST(2000 AS INT)
| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
| | tuple-ids=11 row-size=237B cardinality=373 cost=112653
-| | in pipelines: 09(GETNEXT)
+| | in pipelines: 08(GETNEXT)
| |
-| 08:SCAN HDFS [tpcds_partitioned_parquet_snap.store_returns]
+| 07:SCAN HDFS [tpcds_partitioned_parquet_snap.store_returns]
| HDFS partitions=2004/2004 files=2004 size=48.14GB
| runtime filters: RF008[bloom] -> tpcds_partitioned_parquet_snap.store_returns_0.sr_returned_date_sk
| stored statistics:
@@ -95,212 +113,228 @@ PLAN-ROOT SINK
| extrapolated-rows=disabled max-scan-range-rows=30.09M est-scan-range=373(filtered from 2004)
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=9 row-size=84B cardinality=160.81M(filtered from 863.99M) cost=194518504
-| in pipelines: 08(GETNEXT)
-|
-07:HASH JOIN [INNER JOIN]
-| hash predicates: tpcds_partitioned_parquet_snap.customer.c_customer_sk = tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk
-| fk/pk conjuncts: tpcds_partitioned_parquet_snap.customer.c_customer_sk = tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk
-| runtime filters: RF002[bloom] <- tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk, RF003[min_max] <- tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk
-| mem-estimate=5.16GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=7,4,5 row-size=687B cardinality=10.16M cost=15748162
-| in pipelines: 06(GETNEXT), 03(OPEN)
-|
-|--05:HASH JOIN [INNER JOIN]
-| | hash predicates: tpcds_partitioned_parquet_snap.store_returns.sr_store_sk = tpcds_partitioned_parquet_snap.store.s_store_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_returns.sr_store_sk = tpcds_partitioned_parquet_snap.store.s_store_sk
-| | runtime filters: RF004[bloom] <- tpcds_partitioned_parquet_snap.store.s_store_sk, RF005[min_max] <- tpcds_partitioned_parquet_snap.store.s_store_sk
-| | mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=4,5 row-size=483B cardinality=11.07M cost=43253937
-| | in pipelines: 03(GETNEXT), 04(OPEN)
-| |
-| |--04:SCAN HDFS [tpcds_partitioned_parquet_snap.store]
-| | HDFS partitions=1/1 files=1 size=119.76KB
-| | predicates: tpcds_partitioned_parquet_snap.store.s_state = 'TN'
-| | runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.store.s_store_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store.s_store_sk
-| | stored statistics:
-| | table: rows=1.35K size=119.76KB
-| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=1.35K
-| | parquet statistics predicates: tpcds_partitioned_parquet_snap.store.s_state = 'TN'
-| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store.s_state = 'TN'
-| | mem-estimate=16.00MB mem-reservation=232.00KB thread-reservation=0
-| | tuple-ids=5 row-size=459B cardinality=46 cost=4756
-| | in pipelines: 04(GETNEXT)
-| |
-| 03:AGGREGATE [FINALIZE]
-| | output: sum(tpcds_partitioned_parquet_snap.store_returns.sr_fee)
-| | group by: tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk, tpcds_partitioned_parquet_snap.store_returns.sr_store_sk
-| | mem-estimate=3.24GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=4 row-size=24B cardinality=160.81M cost=949210422
-| | in pipelines: 03(GETNEXT), 00(OPEN)
-| |
-| 02:HASH JOIN [INNER JOIN]
-| | hash predicates: tpcds_partitioned_parquet_snap.store_returns.sr_returned_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_returns.sr_returned_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| | runtime filters: RF006[bloom] <- tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| | mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=0,2 row-size=321B cardinality=160.81M cost=70387897
-| | in pipelines: 00(GETNEXT), 01(OPEN)
-| |
-| |--01:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
-| | HDFS partitions=1/1 files=1 size=2.17MB
-| | predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
-| | stored statistics:
-| | table: rows=73.05K size=2.17MB
-| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
-| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=2 row-size=237B cardinality=373 cost=112653
-| | in pipelines: 01(GETNEXT)
-| |
-| 00:SCAN HDFS [tpcds_partitioned_parquet_snap.store_returns]
-| HDFS partitions=2004/2004 files=2004 size=48.14GB
-| runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF005[min_max] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF004[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF006[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_returned_date_sk
+| in pipelines: 07(GETNEXT)
+|
+06:HASH JOIN [INNER JOIN]
+| hash predicates: tpcds_partitioned_parquet_snap.store_returns.sr_store_sk = tpcds_partitioned_parquet_snap.store.s_store_sk
+| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_returns.sr_store_sk = tpcds_partitioned_parquet_snap.store.s_store_sk
+| runtime filters: RF004[bloom] <- tpcds_partitioned_parquet_snap.store.s_store_sk, RF005[min_max] <- tpcds_partitioned_parquet_snap.store.s_store_sk
+| mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=6,7 row-size=483B cardinality=11.07M cost=43253937
+| in pipelines: 04(GETNEXT), 05(OPEN)
+|
+|--05:SCAN HDFS [tpcds_partitioned_parquet_snap.store]
+| HDFS partitions=1/1 files=1 size=119.76KB
+| predicates: tpcds_partitioned_parquet_snap.store.s_state = 'TN'
+| runtime filters: RF003[min_max] -> tpcds_partitioned_parquet_snap.store.s_store_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.store.s_store_sk
| stored statistics:
-| table: rows=863.99M size=48.14GB
-| partitions: 2004/2004 rows=863.99M
+| table: rows=1.35K size=119.76KB
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=30.09M est-scan-range=373(filtered from 2004)
-| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-| tuple-ids=0 row-size=84B cardinality=160.81M(filtered from 863.99M) cost=194518504
-| in pipelines: 00(GETNEXT)
+| extrapolated-rows=disabled max-scan-range-rows=1.35K
+| parquet statistics predicates: tpcds_partitioned_parquet_snap.store.s_state = 'TN'
+| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store.s_state = 'TN'
+| mem-estimate=16.00MB mem-reservation=232.00KB thread-reservation=0
+| tuple-ids=7 row-size=459B cardinality=46 cost=4756
+| in pipelines: 05(GETNEXT)
+|
+04:AGGREGATE [FINALIZE]
+| output: sum(tpcds_partitioned_parquet_snap.store_returns.sr_fee)
+| group by: tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk, tpcds_partitioned_parquet_snap.store_returns.sr_store_sk
+| mem-estimate=3.24GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=6 row-size=24B cardinality=160.81M cost=949210422
+| in pipelines: 04(GETNEXT), 01(OPEN)
+|
+03:HASH JOIN [INNER JOIN]
+| hash predicates: tpcds_partitioned_parquet_snap.store_returns.sr_returned_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_returns.sr_returned_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| runtime filters: RF006[bloom] <- tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=2,4 row-size=321B cardinality=160.81M cost=70387897
+| in pipelines: 01(GETNEXT), 02(OPEN)
|
-06:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
- HDFS partitions=1/1 files=1 size=1.55GB
- runtime filters: RF003[min_max] -> tpcds_partitioned_parquet_snap.customer.c_customer_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.customer.c_customer_sk
+|--02:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| HDFS partitions=1/1 files=1 size=2.17MB
+| predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
+| stored statistics:
+| table: rows=73.05K size=2.17MB
+| columns: all
+| extrapolated-rows=disabled max-scan-range-rows=73.05K
+| parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
+| parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
+| mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| tuple-ids=4 row-size=237B cardinality=373 cost=112653
+| in pipelines: 02(GETNEXT)
+|
+01:SCAN HDFS [tpcds_partitioned_parquet_snap.store_returns]
+ HDFS partitions=2004/2004 files=2004 size=48.14GB
+ runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk, RF003[min_max] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF005[min_max] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF004[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF006[bloom] -> [...]
stored statistics:
- table: rows=30.00M size=1.55GB
+ table: rows=863.99M size=48.14GB
+ partitions: 2004/2004 rows=863.99M
columns: all
- extrapolated-rows=disabled max-scan-range-rows=3.10M
- mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
- tuple-ids=7 row-size=204B cardinality=11.07M(filtered from 30.00M) cost=46823813
- in pipelines: 06(GETNEXT)
+ extrapolated-rows=disabled max-scan-range-rows=30.09M est-scan-range=373(filtered from 2004)
+ mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
+ tuple-ids=2 row-size=84B cardinality=160.81M(filtered from 863.99M) cost=194518504
+ in pipelines: 01(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=2.10GB Threads=78
-Per-Host Resource Estimates: Memory=6.70GB
-F10:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
+Max Per-Host Resource Reservation: Memory=2.10GB Threads=57
+Per-Host Resource Estimates: Memory=9.61GB
+F09:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.37MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[130] cpu-comparison-result=251 [max(1 (self) vs 251 (sum children))]
+| max-parallelism=1 segment-costs=[130] cpu-comparison-result=271 [max(1 (self) vs 271 (sum children))]
PLAN-ROOT SINK
| output exprs: c_customer_id
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=100
|
-27:MERGING-EXCHANGE [UNPARTITIONED]
+26:MERGING-EXCHANGE [UNPARTITIONED]
| order by: c_customer_id ASC NULLS LAST
| limit: 100
| mem-estimate=375.27KB mem-reservation=0B thread-reservation=0
| tuple-ids=16 row-size=28B cardinality=100 cost=30
| in pipelines: 14(GETNEXT)
|
-F05:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.customer.c_customer_sk)] hosts=10 instances=120 (adjusted from 10)
-Per-Instance Resources: mem-estimate=12.04MB mem-reservation=0B thread-reservation=1
-max-parallelism=1470 segment-costs=[14636256706, 104] cpu-comparison-result=251 [max(130 (self) vs 251 (sum children))]
+F02:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns.sr_store_sk)] hosts=10 instances=120
+Per-Instance Resources: mem-estimate=59.29MB mem-reservation=34.00MB thread-reservation=1
+max-parallelism=1380 segment-costs=[984830336, 13787362087, 104] cpu-comparison-result=271 [max(120 (self) vs 271 (sum children))]
14:TOP-N [LIMIT=100]
| order by: c_customer_id ASC NULLS LAST
| mem-estimate=2.73KB mem-reservation=0B thread-reservation=0
-| tuple-ids=16 row-size=28B cardinality=100 cost=14460779864
-| in pipelines: 14(GETNEXT), 06(OPEN)
+| tuple-ids=16 row-size=28B cardinality=100 cost=13219387793
+| in pipelines: 14(GETNEXT), 17(OPEN)
|
13:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=00
+| hash predicates: tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk = tpcds_partitioned_parquet_snap.customer.c_customer_sk
+| fk/pk conjuncts: none
+| mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=6,7,15,0 row-size=707B cardinality=793.12M cost=365326499
+| in pipelines: 17(GETNEXT), 00(OPEN)
+|
+|--F10:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns.sr_store_sk)] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | max-parallelism=10 segment-costs=[69869990]
+| JOIN BUILD
+| | join-table-id=00 plan-id=01 cohort-id=01
+| | build expressions: tpcds_partitioned_parquet_snap.customer.c_customer_sk
+| | runtime filters: RF000[bloom] <- tpcds_partitioned_parquet_snap.customer.c_customer_sk, RF001[min_max] <- tpcds_partitioned_parquet_snap.customer.c_customer_sk
+| | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| |
+| 25:EXCHANGE [BROADCAST]
+| | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=0 row-size=204B cardinality=30.00M cost=39869990
+| | in pipelines: 00(GETNEXT)
+| |
+| F08:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| max-parallelism=10 segment-costs=[64027278]
+| 00:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| HDFS partitions=1/1 files=1 size=1.55GB
+| stored statistics:
+| table: rows=30.00M size=1.55GB
+| columns: all
+| extrapolated-rows=disabled max-scan-range-rows=3.10M
+| mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| tuple-ids=0 row-size=204B cardinality=30.00M cost=46823813
+| in pipelines: 00(GETNEXT)
+|
+12:HASH JOIN [INNER JOIN, BROADCAST]
+| hash-table-id=01
| hash predicates: tpcds_partitioned_parquet_snap.store_returns.sr_store_sk = tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
| fk/pk conjuncts: none
| other join predicates: sum(tpcds_partitioned_parquet_snap.store_returns.sr_fee) > multiply(avg(sum(tpcds_partitioned_parquet_snap.store_returns_0.sr_fee)), CAST(1.2 AS DECIMAL(2,1)))
| mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=7,4,5,15 row-size=707B cardinality=863.99M cost=159161030
-| in pipelines: 06(GETNEXT), 25(OPEN)
+| tuple-ids=6,7,15 row-size=503B cardinality=863.99M cost=159393904
+| in pipelines: 17(GETNEXT), 23(OPEN)
|
-|--F11:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.customer.c_customer_sk)] hosts=10 instances=10
+|--F11:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns.sr_store_sk)] hosts=10 instances=10
| | Per-Instance Resources: mem-estimate=24.41MB mem-reservation=24.25MB thread-reservation=1 runtime-filters-memory=1.00MB
| | max-parallelism=10 segment-costs=[1513] cpu-comparison-result=120 [max(10 (self) vs 120 (sum children))]
| JOIN BUILD
-| | join-table-id=00 plan-id=01 cohort-id=01
+| | join-table-id=01 plan-id=02 cohort-id=01
| | build expressions: tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
-| | runtime filters: RF000[bloom] <- tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk, RF001[min_max] <- tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
+| | runtime filters: RF002[bloom] <- tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk, RF003[min_max] <- tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
| | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=653
| |
-| 26:EXCHANGE [BROADCAST]
+| 24:EXCHANGE [BROADCAST]
| | mem-estimate=165.80KB mem-reservation=0B thread-reservation=0
| | tuple-ids=15 row-size=20B cardinality=653 cost=860
-| | in pipelines: 25(GETNEXT)
+| | in pipelines: 23(GETNEXT)
| |
-| F09:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk)] hosts=10 instances=10 (adjusted from 120)
+| F07:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk)] hosts=10 instances=10 (adjusted from 120)
| Per-Instance Resources: mem-estimate=12.49MB mem-reservation=1.94MB thread-reservation=1
| max-parallelism=10 segment-costs=[40536, 49] cpu-comparison-result=120 [max(10 (self) vs 120 (sum children))]
-| 25:AGGREGATE [FINALIZE]
+| 23:AGGREGATE [FINALIZE]
| | output: avg:merge(sum(tpcds_partitioned_parquet_snap.store_returns_0.sr_fee))
| | group by: tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
| | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
| | tuple-ids=15 row-size=20B cardinality=653 cost=24622
-| | in pipelines: 25(GETNEXT), 23(OPEN)
+| | in pipelines: 23(GETNEXT), 21(OPEN)
| |
-| 24:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk)]
+| 22:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk)]
| | mem-estimate=2.49MB mem-reservation=0B thread-reservation=0
| | tuple-ids=14 row-size=20B cardinality=78.36K cost=15914
-| | in pipelines: 23(GETNEXT)
+| | in pipelines: 21(GETNEXT)
| |
-| F08:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns_0.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk)] hosts=10 instances=100 (adjusted from 120)
+| F06:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns_0.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk)] hosts=10 instances=100 (adjusted from 120)
| Per-Instance Resources: mem-estimate=78.49MB mem-reservation=36.00MB thread-reservation=1
| max-parallelism=100 segment-costs=[984830336, 4908058, 141298] cpu-comparison-result=120 [max(100 (self) vs 120 (sum children))]
-| 12:AGGREGATE [STREAMING]
+| 11:AGGREGATE [STREAMING]
| | output: avg(sum(tpcds_partitioned_parquet_snap.store_returns_0.sr_fee))
| | group by: tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
| | tuple-ids=14 row-size=20B cardinality=78.36K cost=4908058
-| | in pipelines: 23(GETNEXT)
+| | in pipelines: 21(GETNEXT)
| |
-| 23:AGGREGATE [FINALIZE]
+| 21:AGGREGATE [FINALIZE]
| | output: sum:merge(tpcds_partitioned_parquet_snap.store_returns_0.sr_fee)
| | group by: tpcds_partitioned_parquet_snap.store_returns_0.sr_customer_sk, tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
| | having: is_not_null_pred(tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk)
| | mem-estimate=55.21MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=13 row-size=24B cardinality=16.08M cost=949210422
-| | in pipelines: 23(GETNEXT), 08(OPEN)
+| | in pipelines: 21(GETNEXT), 07(OPEN)
| |
-| 22:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.store_returns_0.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk)]
+| 20:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.store_returns_0.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk)]
| | mem-estimate=13.28MB mem-reservation=0B thread-reservation=0
| | tuple-ids=13 row-size=24B cardinality=160.81M cost=35619914
-| | in pipelines: 08(GETNEXT)
+| | in pipelines: 07(GETNEXT)
| |
-| F06:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| F04:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
| Per-Instance Resources: mem-estimate=61.44MB mem-reservation=34.50MB thread-reservation=1
| max-parallelism=130 segment-costs=[1214116450, 331401897] cpu-comparison-result=120 [max(120 (self) vs 11 (sum children))]
-| 11:AGGREGATE [STREAMING]
+| 10:AGGREGATE [STREAMING]
| | output: sum(tpcds_partitioned_parquet_snap.store_returns_0.sr_fee)
| | group by: tpcds_partitioned_parquet_snap.store_returns_0.sr_customer_sk, tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
| | mem-estimate=34.51MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=13 row-size=24B cardinality=160.81M cost=949210422
-| | in pipelines: 08(GETNEXT)
+| | in pipelines: 07(GETNEXT)
| |
-| 10:HASH JOIN [INNER JOIN, BROADCAST]
-| | hash-table-id=01
+| 09:HASH JOIN [INNER JOIN, BROADCAST]
+| | hash-table-id=02
| | hash predicates: tpcds_partitioned_parquet_snap.store_returns_0.sr_returned_date_sk = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_returns_0.sr_returned_date_sk = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
| | tuple-ids=9,11 row-size=321B cardinality=160.81M cost=70387524
-| | in pipelines: 08(GETNEXT), 09(OPEN)
+| | in pipelines: 07(GETNEXT), 08(OPEN)
| |
| |--F12:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | Per-Instance Resources: mem-estimate=24.42MB mem-reservation=24.25MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | max-parallelism=10 segment-costs=[863]
| | JOIN BUILD
-| | | join-table-id=01 plan-id=02 cohort-id=02
+| | | join-table-id=02 plan-id=03 cohort-id=02
| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
| | | runtime filters: RF008[bloom] <- tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
| | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=373
| | |
-| | 21:EXCHANGE [BROADCAST]
+| | 19:EXCHANGE [BROADCAST]
| | | mem-estimate=174.22KB mem-reservation=0B thread-reservation=0
| | | tuple-ids=11 row-size=237B cardinality=373 cost=490
-| | | in pipelines: 09(GETNEXT)
+| | | in pipelines: 08(GETNEXT)
| | |
-| | F07:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | F05:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
| | max-parallelism=1 segment-costs=[112899]
-| | 09:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | 08:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
| | HDFS partitions=1/1 files=1 size=2.17MB
| | predicates: tpcds_partitioned_parquet_snap.date_dim_0.d_year = CAST(2000 AS INT)
| | stored statistics:
@@ -311,9 +345,9 @@ max-parallelism=1470 segment-costs=[14636256706, 104] cpu-comparison-result=251
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim_0.d_year = CAST(2000 AS INT)
| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
| | tuple-ids=11 row-size=237B cardinality=373 cost=112653
-| | in pipelines: 09(GETNEXT)
+| | in pipelines: 08(GETNEXT)
| |
-| 08:SCAN HDFS [tpcds_partitioned_parquet_snap.store_returns, RANDOM]
+| 07:SCAN HDFS [tpcds_partitioned_parquet_snap.store_returns, RANDOM]
| HDFS partitions=2004/2004 files=2004 size=48.14GB
| runtime filters: RF008[bloom] -> tpcds_partitioned_parquet_snap.store_returns_0.sr_returned_date_sk
| stored statistics:
@@ -323,289 +357,279 @@ max-parallelism=1470 segment-costs=[14636256706, 104] cpu-comparison-result=251
| extrapolated-rows=disabled max-scan-range-rows=30.09M est-scan-range=373(filtered from 2004)
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=9 row-size=84B cardinality=160.81M(filtered from 863.99M) cost=194518504
-| in pipelines: 08(GETNEXT)
+| in pipelines: 07(GETNEXT)
|
-07:HASH JOIN [INNER JOIN, PARTITIONED]
-| hash-table-id=02
-| hash predicates: tpcds_partitioned_parquet_snap.customer.c_customer_sk = tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk
-| fk/pk conjuncts: tpcds_partitioned_parquet_snap.customer.c_customer_sk = tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk
-| mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=7,4,5 row-size=687B cardinality=10.16M cost=4680017
-| in pipelines: 06(GETNEXT), 17(OPEN)
+06:HASH JOIN [INNER JOIN, BROADCAST]
+| hash-table-id=03
+| hash predicates: tpcds_partitioned_parquet_snap.store_returns.sr_store_sk = tpcds_partitioned_parquet_snap.store.s_store_sk
+| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_returns.sr_store_sk = tpcds_partitioned_parquet_snap.store.s_store_sk
+| mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=6,7 row-size=483B cardinality=11.07M cost=43253891
+| in pipelines: 17(GETNEXT), 05(OPEN)
|
-|--F13:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.customer.c_customer_sk)] hosts=10 instances=120 (adjusted from 10)
-| | Per-Instance Resources: mem-estimate=109.98MB mem-reservation=42.00MB thread-reservation=1 runtime-filters-memory=8.00MB
-| | max-parallelism=1470 segment-costs=[37281775] cpu-comparison-result=131 [max(120 (self) vs 131 (sum children))]
+|--F13:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns.sr_store_sk)] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=24.29MB mem-reservation=24.25MB thread-reservation=1 runtime-filters-memory=1.00MB
+| | max-parallelism=10 segment-costs=[106]
| JOIN BUILD
-| | join-table-id=02 plan-id=03 cohort-id=01
-| | build expressions: tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk
-| | runtime filters: RF002[bloom] <- tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk, RF003[min_max] <- tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk
-| | mem-estimate=44.06MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0 cost=11068145
-| |
-| 20:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk)]
-| | mem-estimate=57.92MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=4,5 row-size=483B cardinality=11.07M cost=26213630
-| | in pipelines: 17(GETNEXT)
-| |
-| F03:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns.sr_store_sk)] hosts=10 instances=100 (adjusted from 120)
-| Per-Instance Resources: mem-estimate=285.23MB mem-reservation=34.00MB thread-reservation=1
-| max-parallelism=100 segment-costs=[984830336, 398731636] cpu-comparison-result=131 [max(100 (self) vs 131 (sum children))]
-| 05:HASH JOIN [INNER JOIN, BROADCAST]
-| | hash-table-id=03
-| | hash predicates: tpcds_partitioned_parquet_snap.store_returns.sr_store_sk = tpcds_partitioned_parquet_snap.store.s_store_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_returns.sr_store_sk = tpcds_partitioned_parquet_snap.store.s_store_sk
-| | mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=4,5 row-size=483B cardinality=11.07M cost=43253891
-| | in pipelines: 17(GETNEXT), 04(OPEN)
-| |
-| |--F14:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns.sr_store_sk)] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=20.42MB mem-reservation=20.38MB thread-reservation=1 runtime-filters-memory=1.00MB
-| | | max-parallelism=10 segment-costs=[106]
-| | JOIN BUILD
-| | | join-table-id=03 plan-id=04 cohort-id=03
-| | | build expressions: tpcds_partitioned_parquet_snap.store.s_store_sk
-| | | runtime filters: RF004[bloom] <- tpcds_partitioned_parquet_snap.store.s_store_sk, RF005[min_max] <- tpcds_partitioned_parquet_snap.store.s_store_sk
-| | | mem-estimate=19.38MB mem-reservation=19.38MB spill-buffer=64.00KB thread-reservation=0 cost=46
-| | |
-| | 18:EXCHANGE [BROADCAST]
-| | | mem-estimate=41.39KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=5 row-size=459B cardinality=46 cost=60
-| | | in pipelines: 04(GETNEXT)
-| | |
-| | F04:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
-| | Per-Instance Resources: mem-estimate=17.81MB mem-reservation=232.00KB thread-reservation=1
-| | max-parallelism=1 segment-costs=[4813]
-| | 04:SCAN HDFS [tpcds_partitioned_parquet_snap.store, RANDOM]
-| | HDFS partitions=1/1 files=1 size=119.76KB
-| | predicates: tpcds_partitioned_parquet_snap.store.s_state = 'TN'
-| | runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.store.s_store_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store.s_store_sk
-| | stored statistics:
-| | table: rows=1.35K size=119.76KB
-| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=1.35K
-| | parquet statistics predicates: tpcds_partitioned_parquet_snap.store.s_state = 'TN'
-| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store.s_state = 'TN'
-| | mem-estimate=16.00MB mem-reservation=232.00KB thread-reservation=0
-| | tuple-ids=5 row-size=459B cardinality=46 cost=4756
-| | in pipelines: 04(GETNEXT)
-| |
-| 17:AGGREGATE [FINALIZE]
-| | output: sum:merge(tpcds_partitioned_parquet_snap.store_returns.sr_fee)
-| | group by: tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk, tpcds_partitioned_parquet_snap.store_returns.sr_store_sk
-| | mem-estimate=55.21MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=4 row-size=24B cardinality=160.81M cost=949210422
-| | in pipelines: 17(GETNEXT), 00(OPEN)
-| |
-| 16:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns.sr_store_sk)]
-| | mem-estimate=13.28MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=4 row-size=24B cardinality=160.81M cost=35619914
-| | in pipelines: 00(GETNEXT)
-| |
-| F01:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| Per-Host Shared Resources: mem-estimate=3.00MB mem-reservation=3.00MB thread-reservation=0 runtime-filters-memory=3.00MB
-| Per-Instance Resources: mem-estimate=61.44MB mem-reservation=34.50MB thread-reservation=1
-| max-parallelism=130 segment-costs=[1214116450, 331401897] cpu-comparison-result=120 [max(120 (self) vs 11 (sum children))]
-| 03:AGGREGATE [STREAMING]
-| | output: sum(tpcds_partitioned_parquet_snap.store_returns.sr_fee)
-| | group by: tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk, tpcds_partitioned_parquet_snap.store_returns.sr_store_sk
-| | mem-estimate=34.51MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=4 row-size=24B cardinality=160.81M cost=949210422
-| | in pipelines: 00(GETNEXT)
-| |
-| 02:HASH JOIN [INNER JOIN, BROADCAST]
-| | hash-table-id=04
-| | hash predicates: tpcds_partitioned_parquet_snap.store_returns.sr_returned_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_returns.sr_returned_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| | mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=0,2 row-size=321B cardinality=160.81M cost=70387524
-| | in pipelines: 00(GETNEXT), 01(OPEN)
+| | join-table-id=03 plan-id=04 cohort-id=01
+| | build expressions: tpcds_partitioned_parquet_snap.store.s_store_sk
+| | runtime filters: RF004[bloom] <- tpcds_partitioned_parquet_snap.store.s_store_sk, RF005[min_max] <- tpcds_partitioned_parquet_snap.store.s_store_sk
+| | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=46
| |
-| |--F15:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=24.42MB mem-reservation=24.25MB thread-reservation=1 runtime-filters-memory=1.00MB
-| | | max-parallelism=10 segment-costs=[863]
-| | JOIN BUILD
-| | | join-table-id=04 plan-id=05 cohort-id=03
-| | | build expressions: tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| | | runtime filters: RF006[bloom] <- tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=373
-| | |
-| | 15:EXCHANGE [BROADCAST]
-| | | mem-estimate=174.22KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=2 row-size=237B cardinality=373 cost=490
-| | | in pipelines: 01(GETNEXT)
-| | |
-| | F02:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | max-parallelism=1 segment-costs=[112899]
-| | 01:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | HDFS partitions=1/1 files=1 size=2.17MB
-| | predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
-| | stored statistics:
-| | table: rows=73.05K size=2.17MB
-| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
-| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=2 row-size=237B cardinality=373 cost=112653
-| | in pipelines: 01(GETNEXT)
+| 18:EXCHANGE [BROADCAST]
+| | mem-estimate=41.39KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=7 row-size=459B cardinality=46 cost=60
+| | in pipelines: 05(GETNEXT)
| |
-| 00:SCAN HDFS [tpcds_partitioned_parquet_snap.store_returns, RANDOM]
-| HDFS partitions=2004/2004 files=2004 size=48.14GB
-| runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF005[min_max] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF004[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF006[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_returned_date_sk
+| F03:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
+| Per-Instance Resources: mem-estimate=17.81MB mem-reservation=232.00KB thread-reservation=1
+| max-parallelism=1 segment-costs=[4813]
+| 05:SCAN HDFS [tpcds_partitioned_parquet_snap.store, RANDOM]
+| HDFS partitions=1/1 files=1 size=119.76KB
+| predicates: tpcds_partitioned_parquet_snap.store.s_state = 'TN'
+| runtime filters: RF003[min_max] -> tpcds_partitioned_parquet_snap.store.s_store_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.store.s_store_sk
| stored statistics:
-| table: rows=863.99M size=48.14GB
-| partitions: 2004/2004 rows=863.99M
+| table: rows=1.35K size=119.76KB
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=30.09M est-scan-range=373(filtered from 2004)
-| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-| tuple-ids=0 row-size=84B cardinality=160.81M(filtered from 863.99M) cost=194518504
-| in pipelines: 00(GETNEXT)
+| extrapolated-rows=disabled max-scan-range-rows=1.35K
+| parquet statistics predicates: tpcds_partitioned_parquet_snap.store.s_state = 'TN'
+| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store.s_state = 'TN'
+| mem-estimate=16.00MB mem-reservation=232.00KB thread-reservation=0
+| tuple-ids=7 row-size=459B cardinality=46 cost=4756
+| in pipelines: 05(GETNEXT)
+|
+17:AGGREGATE [FINALIZE]
+| output: sum:merge(tpcds_partitioned_parquet_snap.store_returns.sr_fee)
+| group by: tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk, tpcds_partitioned_parquet_snap.store_returns.sr_store_sk
+| mem-estimate=46.01MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=6 row-size=24B cardinality=160.81M cost=949210422
+| in pipelines: 17(GETNEXT), 01(OPEN)
+|
+16:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns.sr_store_sk)]
+| mem-estimate=13.28MB mem-reservation=0B thread-reservation=0
+| tuple-ids=6 row-size=24B cardinality=160.81M cost=35619914
+| in pipelines: 01(GETNEXT)
+|
+F00:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+Per-Host Shared Resources: mem-estimate=19.00MB mem-reservation=19.00MB thread-reservation=0 runtime-filters-memory=19.00MB
+Per-Instance Resources: mem-estimate=63.63MB mem-reservation=34.50MB thread-reservation=1
+max-parallelism=130 segment-costs=[1214116450, 331401897] cpu-comparison-result=120 [max(120 (self) vs 11 (sum children))]
+04:AGGREGATE [STREAMING]
+| output: sum(tpcds_partitioned_parquet_snap.store_returns.sr_fee)
+| group by: tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk, tpcds_partitioned_parquet_snap.store_returns.sr_store_sk
+| mem-estimate=34.51MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=6 row-size=24B cardinality=160.81M cost=949210422
+| in pipelines: 01(GETNEXT)
|
-19:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.customer.c_customer_sk)]
-| mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| tuple-ids=7 row-size=204B cardinality=11.07M(filtered from 30.00M) cost=11635795
-| in pipelines: 06(GETNEXT)
-|
-F00:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-Per-Host Shared Resources: mem-estimate=8.00MB mem-reservation=8.00MB thread-reservation=0 runtime-filters-memory=8.00MB
-Per-Instance Resources: mem-estimate=113.68MB mem-reservation=1.00MB thread-reservation=1
-max-parallelism=10 segment-costs=[198211871]
-06:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
- HDFS partitions=1/1 files=1 size=1.55GB
- runtime filters: RF003[min_max] -> tpcds_partitioned_parquet_snap.customer.c_customer_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.customer.c_customer_sk
+03:HASH JOIN [INNER JOIN, BROADCAST]
+| hash-table-id=04
+| hash predicates: tpcds_partitioned_parquet_snap.store_returns.sr_returned_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_returns.sr_returned_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=2,4 row-size=321B cardinality=160.81M cost=70387524
+| in pipelines: 01(GETNEXT), 02(OPEN)
+|
+|--F14:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=24.42MB mem-reservation=24.25MB thread-reservation=1 runtime-filters-memory=1.00MB
+| | max-parallelism=10 segment-costs=[863]
+| JOIN BUILD
+| | join-table-id=04 plan-id=05 cohort-id=01
+| | build expressions: tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| | runtime filters: RF006[bloom] <- tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=373
+| |
+| 15:EXCHANGE [BROADCAST]
+| | mem-estimate=174.22KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=4 row-size=237B cardinality=373 cost=490
+| | in pipelines: 02(GETNEXT)
+| |
+| F01:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| max-parallelism=1 segment-costs=[112899]
+| 02:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| HDFS partitions=1/1 files=1 size=2.17MB
+| predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
+| stored statistics:
+| table: rows=73.05K size=2.17MB
+| columns: all
+| extrapolated-rows=disabled max-scan-range-rows=73.05K
+| parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
+| parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
+| mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| tuple-ids=4 row-size=237B cardinality=373 cost=112653
+| in pipelines: 02(GETNEXT)
+|
+01:SCAN HDFS [tpcds_partitioned_parquet_snap.store_returns, RANDOM]
+ HDFS partitions=2004/2004 files=2004 size=48.14GB
+ runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk, RF003[min_max] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF005[min_max] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF004[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF006[bloom] -> [...]
stored statistics:
- table: rows=30.00M size=1.55GB
+ table: rows=863.99M size=48.14GB
+ partitions: 2004/2004 rows=863.99M
columns: all
- extrapolated-rows=disabled max-scan-range-rows=3.10M
- mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
- tuple-ids=7 row-size=204B cardinality=11.07M(filtered from 30.00M) cost=46823813
- in pipelines: 06(GETNEXT)
+ extrapolated-rows=disabled max-scan-range-rows=30.09M est-scan-range=373(filtered from 2004)
+ mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
+ tuple-ids=2 row-size=84B cardinality=160.81M(filtered from 863.99M) cost=194518504
+ in pipelines: 01(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=2.10GB Threads=78
-Per-Host Resource Estimates: Memory=6.70GB
-F10:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
+Max Per-Host Resource Reservation: Memory=2.10GB Threads=57
+Per-Host Resource Estimates: Memory=9.61GB
+F09:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.37MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[130] cpu-comparison-result=251 [max(1 (self) vs 251 (sum children))]
+| max-parallelism=1 segment-costs=[130] cpu-comparison-result=271 [max(1 (self) vs 271 (sum children))]
PLAN-ROOT SINK
| output exprs: c_customer_id
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=100
|
-27:MERGING-EXCHANGE [UNPARTITIONED]
+26:MERGING-EXCHANGE [UNPARTITIONED]
| order by: c_customer_id ASC NULLS LAST
| limit: 100
| mem-estimate=375.27KB mem-reservation=0B thread-reservation=0
| tuple-ids=16 row-size=28B cardinality=100 cost=30
| in pipelines: 14(GETNEXT)
|
-F05:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.customer.c_customer_sk)] hosts=10 instances=120 (adjusted from 10)
-Per-Instance Resources: mem-estimate=12.04MB mem-reservation=0B thread-reservation=1
-max-parallelism=1470 segment-costs=[14636256706, 104] cpu-comparison-result=251 [max(130 (self) vs 251 (sum children))]
+F02:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns.sr_store_sk)] hosts=10 instances=120
+Per-Instance Resources: mem-estimate=59.29MB mem-reservation=34.00MB thread-reservation=1
+max-parallelism=1380 segment-costs=[984830336, 13787362087, 104] cpu-comparison-result=271 [max(120 (self) vs 271 (sum children))]
14:TOP-N [LIMIT=100]
| order by: c_customer_id ASC NULLS LAST
| mem-estimate=2.73KB mem-reservation=0B thread-reservation=0
-| tuple-ids=16 row-size=28B cardinality=100 cost=14460779864
-| in pipelines: 14(GETNEXT), 06(OPEN)
+| tuple-ids=16 row-size=28B cardinality=100 cost=13219387793
+| in pipelines: 14(GETNEXT), 17(OPEN)
|
13:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=00
+| hash predicates: tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk = tpcds_partitioned_parquet_snap.customer.c_customer_sk
+| fk/pk conjuncts: none
+| mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=6,7,15,0 row-size=707B cardinality=793.12M cost=365326499
+| in pipelines: 17(GETNEXT), 00(OPEN)
+|
+|--F10:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns.sr_store_sk)] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | max-parallelism=10 segment-costs=[69869990]
+| JOIN BUILD
+| | join-table-id=00 plan-id=01 cohort-id=01
+| | build expressions: tpcds_partitioned_parquet_snap.customer.c_customer_sk
+| | runtime filters: RF000[bloom] <- tpcds_partitioned_parquet_snap.customer.c_customer_sk, RF001[min_max] <- tpcds_partitioned_parquet_snap.customer.c_customer_sk
+| | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| |
+| 25:EXCHANGE [BROADCAST]
+| | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=0 row-size=204B cardinality=30.00M cost=39869990
+| | in pipelines: 00(GETNEXT)
+| |
+| F08:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| max-parallelism=10 segment-costs=[64027278]
+| 00:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| HDFS partitions=1/1 files=1 size=1.55GB
+| stored statistics:
+| table: rows=30.00M size=1.55GB
+| columns: all
+| extrapolated-rows=disabled max-scan-range-rows=3.10M
+| mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| tuple-ids=0 row-size=204B cardinality=30.00M cost=46823813
+| in pipelines: 00(GETNEXT)
+|
+12:HASH JOIN [INNER JOIN, BROADCAST]
+| hash-table-id=01
| hash predicates: tpcds_partitioned_parquet_snap.store_returns.sr_store_sk = tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
| fk/pk conjuncts: none
| other join predicates: sum(tpcds_partitioned_parquet_snap.store_returns.sr_fee) > multiply(avg(sum(tpcds_partitioned_parquet_snap.store_returns_0.sr_fee)), CAST(1.2 AS DECIMAL(2,1)))
| mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=7,4,5,15 row-size=707B cardinality=863.99M cost=159161030
-| in pipelines: 06(GETNEXT), 25(OPEN)
+| tuple-ids=6,7,15 row-size=503B cardinality=863.99M cost=159393904
+| in pipelines: 17(GETNEXT), 23(OPEN)
|
-|--F11:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.customer.c_customer_sk)] hosts=10 instances=10
+|--F11:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns.sr_store_sk)] hosts=10 instances=10
| | Per-Instance Resources: mem-estimate=24.41MB mem-reservation=24.25MB thread-reservation=1 runtime-filters-memory=1.00MB
| | max-parallelism=10 segment-costs=[1513] cpu-comparison-result=120 [max(10 (self) vs 120 (sum children))]
| JOIN BUILD
-| | join-table-id=00 plan-id=01 cohort-id=01
+| | join-table-id=01 plan-id=02 cohort-id=01
| | build expressions: tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
-| | runtime filters: RF000[bloom] <- tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk, RF001[min_max] <- tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
+| | runtime filters: RF002[bloom] <- tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk, RF003[min_max] <- tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
| | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=653
| |
-| 26:EXCHANGE [BROADCAST]
+| 24:EXCHANGE [BROADCAST]
| | mem-estimate=165.80KB mem-reservation=0B thread-reservation=0
| | tuple-ids=15 row-size=20B cardinality=653 cost=860
-| | in pipelines: 25(GETNEXT)
+| | in pipelines: 23(GETNEXT)
| |
-| F09:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk)] hosts=10 instances=10 (adjusted from 120)
+| F07:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk)] hosts=10 instances=10 (adjusted from 120)
| Per-Instance Resources: mem-estimate=12.49MB mem-reservation=1.94MB thread-reservation=1
| max-parallelism=10 segment-costs=[40536, 49] cpu-comparison-result=120 [max(10 (self) vs 120 (sum children))]
-| 25:AGGREGATE [FINALIZE]
+| 23:AGGREGATE [FINALIZE]
| | output: avg:merge(sum(tpcds_partitioned_parquet_snap.store_returns_0.sr_fee))
| | group by: tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
| | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
| | tuple-ids=15 row-size=20B cardinality=653 cost=24622
-| | in pipelines: 25(GETNEXT), 23(OPEN)
+| | in pipelines: 23(GETNEXT), 21(OPEN)
| |
-| 24:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk)]
+| 22:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk)]
| | mem-estimate=2.49MB mem-reservation=0B thread-reservation=0
| | tuple-ids=14 row-size=20B cardinality=78.36K cost=15914
-| | in pipelines: 23(GETNEXT)
+| | in pipelines: 21(GETNEXT)
| |
-| F08:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns_0.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk)] hosts=10 instances=100 (adjusted from 120)
+| F06:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns_0.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk)] hosts=10 instances=100 (adjusted from 120)
| Per-Instance Resources: mem-estimate=78.49MB mem-reservation=36.00MB thread-reservation=1
| max-parallelism=100 segment-costs=[984830336, 4908058, 141298] cpu-comparison-result=120 [max(100 (self) vs 120 (sum children))]
-| 12:AGGREGATE [STREAMING]
+| 11:AGGREGATE [STREAMING]
| | output: avg(sum(tpcds_partitioned_parquet_snap.store_returns_0.sr_fee))
| | group by: tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
| | tuple-ids=14 row-size=20B cardinality=78.36K cost=4908058
-| | in pipelines: 23(GETNEXT)
+| | in pipelines: 21(GETNEXT)
| |
-| 23:AGGREGATE [FINALIZE]
+| 21:AGGREGATE [FINALIZE]
| | output: sum:merge(tpcds_partitioned_parquet_snap.store_returns_0.sr_fee)
| | group by: tpcds_partitioned_parquet_snap.store_returns_0.sr_customer_sk, tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
| | having: is_not_null_pred(tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk)
| | mem-estimate=55.21MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=13 row-size=24B cardinality=16.08M cost=949210422
-| | in pipelines: 23(GETNEXT), 08(OPEN)
+| | in pipelines: 21(GETNEXT), 07(OPEN)
| |
-| 22:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.store_returns_0.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk)]
+| 20:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.store_returns_0.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk)]
| | mem-estimate=13.28MB mem-reservation=0B thread-reservation=0
| | tuple-ids=13 row-size=24B cardinality=160.81M cost=35619914
-| | in pipelines: 08(GETNEXT)
+| | in pipelines: 07(GETNEXT)
| |
-| F06:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| F04:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
| Per-Instance Resources: mem-estimate=61.44MB mem-reservation=34.50MB thread-reservation=1
| max-parallelism=130 segment-costs=[1214116450, 331401897] cpu-comparison-result=120 [max(120 (self) vs 11 (sum children))]
-| 11:AGGREGATE [STREAMING]
+| 10:AGGREGATE [STREAMING]
| | output: sum(tpcds_partitioned_parquet_snap.store_returns_0.sr_fee)
| | group by: tpcds_partitioned_parquet_snap.store_returns_0.sr_customer_sk, tpcds_partitioned_parquet_snap.store_returns_0.sr_store_sk
| | mem-estimate=34.51MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=13 row-size=24B cardinality=160.81M cost=949210422
-| | in pipelines: 08(GETNEXT)
+| | in pipelines: 07(GETNEXT)
| |
-| 10:HASH JOIN [INNER JOIN, BROADCAST]
-| | hash-table-id=01
+| 09:HASH JOIN [INNER JOIN, BROADCAST]
+| | hash-table-id=02
| | hash predicates: tpcds_partitioned_parquet_snap.store_returns_0.sr_returned_date_sk = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_returns_0.sr_returned_date_sk = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
| | tuple-ids=9,11 row-size=321B cardinality=160.81M cost=70387524
-| | in pipelines: 08(GETNEXT), 09(OPEN)
+| | in pipelines: 07(GETNEXT), 08(OPEN)
| |
| |--F12:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | Per-Instance Resources: mem-estimate=24.42MB mem-reservation=24.25MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | max-parallelism=10 segment-costs=[863]
| | JOIN BUILD
-| | | join-table-id=01 plan-id=02 cohort-id=02
+| | | join-table-id=02 plan-id=03 cohort-id=02
| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
| | | runtime filters: RF008[bloom] <- tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
| | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=373
| | |
-| | 21:EXCHANGE [BROADCAST]
+| | 19:EXCHANGE [BROADCAST]
| | | mem-estimate=174.22KB mem-reservation=0B thread-reservation=0
| | | tuple-ids=11 row-size=237B cardinality=373 cost=490
-| | | in pipelines: 09(GETNEXT)
+| | | in pipelines: 08(GETNEXT)
| | |
-| | F07:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | F05:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
| | max-parallelism=1 segment-costs=[112899]
-| | 09:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | 08:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
| | HDFS partitions=1/1 files=1 size=2.17MB
| | predicates: tpcds_partitioned_parquet_snap.date_dim_0.d_year = CAST(2000 AS INT)
| | stored statistics:
@@ -616,9 +640,9 @@ max-parallelism=1470 segment-costs=[14636256706, 104] cpu-comparison-result=251
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim_0.d_year = CAST(2000 AS INT)
| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
| | tuple-ids=11 row-size=237B cardinality=373 cost=112653
-| | in pipelines: 09(GETNEXT)
+| | in pipelines: 08(GETNEXT)
| |
-| 08:SCAN HDFS [tpcds_partitioned_parquet_snap.store_returns, RANDOM]
+| 07:SCAN HDFS [tpcds_partitioned_parquet_snap.store_returns, RANDOM]
| HDFS partitions=2004/2004 files=2004 size=48.14GB
| runtime filters: RF008[bloom] -> tpcds_partitioned_parquet_snap.store_returns_0.sr_returned_date_sk
| stored statistics:
@@ -628,163 +652,118 @@ max-parallelism=1470 segment-costs=[14636256706, 104] cpu-comparison-result=251
| extrapolated-rows=disabled max-scan-range-rows=30.09M est-scan-range=373(filtered from 2004)
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=9 row-size=84B cardinality=160.81M(filtered from 863.99M) cost=194518504
-| in pipelines: 08(GETNEXT)
+| in pipelines: 07(GETNEXT)
|
-07:HASH JOIN [INNER JOIN, PARTITIONED]
-| hash-table-id=02
-| hash predicates: tpcds_partitioned_parquet_snap.customer.c_customer_sk = tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk
-| fk/pk conjuncts: tpcds_partitioned_parquet_snap.customer.c_customer_sk = tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk
-| mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=7,4,5 row-size=687B cardinality=10.16M cost=4680017
-| in pipelines: 06(GETNEXT), 17(OPEN)
+06:HASH JOIN [INNER JOIN, BROADCAST]
+| hash-table-id=03
+| hash predicates: tpcds_partitioned_parquet_snap.store_returns.sr_store_sk = tpcds_partitioned_parquet_snap.store.s_store_sk
+| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_returns.sr_store_sk = tpcds_partitioned_parquet_snap.store.s_store_sk
+| mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=6,7 row-size=483B cardinality=11.07M cost=43253891
+| in pipelines: 17(GETNEXT), 05(OPEN)
|
-|--F13:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.customer.c_customer_sk)] hosts=10 instances=120 (adjusted from 10)
-| | Per-Instance Resources: mem-estimate=109.98MB mem-reservation=42.00MB thread-reservation=1 runtime-filters-memory=8.00MB
-| | max-parallelism=1470 segment-costs=[37281775] cpu-comparison-result=131 [max(120 (self) vs 131 (sum children))]
+|--F13:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns.sr_store_sk)] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=24.29MB mem-reservation=24.25MB thread-reservation=1 runtime-filters-memory=1.00MB
+| | max-parallelism=10 segment-costs=[106]
| JOIN BUILD
-| | join-table-id=02 plan-id=03 cohort-id=01
-| | build expressions: tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk
-| | runtime filters: RF002[bloom] <- tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk, RF003[min_max] <- tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk
-| | mem-estimate=44.06MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0 cost=11068145
-| |
-| 20:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk)]
-| | mem-estimate=57.92MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=4,5 row-size=483B cardinality=11.07M cost=26213630
-| | in pipelines: 17(GETNEXT)
-| |
-| F03:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns.sr_store_sk)] hosts=10 instances=100 (adjusted from 120)
-| Per-Instance Resources: mem-estimate=285.23MB mem-reservation=34.00MB thread-reservation=1
-| max-parallelism=100 segment-costs=[984830336, 398731636] cpu-comparison-result=131 [max(100 (self) vs 131 (sum children))]
-| 05:HASH JOIN [INNER JOIN, BROADCAST]
-| | hash-table-id=03
-| | hash predicates: tpcds_partitioned_parquet_snap.store_returns.sr_store_sk = tpcds_partitioned_parquet_snap.store.s_store_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_returns.sr_store_sk = tpcds_partitioned_parquet_snap.store.s_store_sk
-| | mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=4,5 row-size=483B cardinality=11.07M cost=43253891
-| | in pipelines: 17(GETNEXT), 04(OPEN)
-| |
-| |--F14:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns.sr_store_sk)] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=20.42MB mem-reservation=20.38MB thread-reservation=1 runtime-filters-memory=1.00MB
-| | | max-parallelism=10 segment-costs=[106]
-| | JOIN BUILD
-| | | join-table-id=03 plan-id=04 cohort-id=03
-| | | build expressions: tpcds_partitioned_parquet_snap.store.s_store_sk
-| | | runtime filters: RF004[bloom] <- tpcds_partitioned_parquet_snap.store.s_store_sk, RF005[min_max] <- tpcds_partitioned_parquet_snap.store.s_store_sk
-| | | mem-estimate=19.38MB mem-reservation=19.38MB spill-buffer=64.00KB thread-reservation=0 cost=46
-| | |
-| | 18:EXCHANGE [BROADCAST]
-| | | mem-estimate=41.39KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=5 row-size=459B cardinality=46 cost=60
-| | | in pipelines: 04(GETNEXT)
-| | |
-| | F04:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
-| | Per-Instance Resources: mem-estimate=17.81MB mem-reservation=232.00KB thread-reservation=1
-| | max-parallelism=1 segment-costs=[4813]
-| | 04:SCAN HDFS [tpcds_partitioned_parquet_snap.store, RANDOM]
-| | HDFS partitions=1/1 files=1 size=119.76KB
-| | predicates: tpcds_partitioned_parquet_snap.store.s_state = 'TN'
-| | runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.store.s_store_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store.s_store_sk
-| | stored statistics:
-| | table: rows=1.35K size=119.76KB
-| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=1.35K
-| | parquet statistics predicates: tpcds_partitioned_parquet_snap.store.s_state = 'TN'
-| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store.s_state = 'TN'
-| | mem-estimate=16.00MB mem-reservation=232.00KB thread-reservation=0
-| | tuple-ids=5 row-size=459B cardinality=46 cost=4756
-| | in pipelines: 04(GETNEXT)
-| |
-| 17:AGGREGATE [FINALIZE]
-| | output: sum:merge(tpcds_partitioned_parquet_snap.store_returns.sr_fee)
-| | group by: tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk, tpcds_partitioned_parquet_snap.store_returns.sr_store_sk
-| | mem-estimate=55.21MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=4 row-size=24B cardinality=160.81M cost=949210422
-| | in pipelines: 17(GETNEXT), 00(OPEN)
-| |
-| 16:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns.sr_store_sk)]
-| | mem-estimate=13.28MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=4 row-size=24B cardinality=160.81M cost=35619914
-| | in pipelines: 00(GETNEXT)
-| |
-| F01:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| Per-Host Shared Resources: mem-estimate=3.00MB mem-reservation=3.00MB thread-reservation=0 runtime-filters-memory=3.00MB
-| Per-Instance Resources: mem-estimate=61.44MB mem-reservation=34.50MB thread-reservation=1
-| max-parallelism=130 segment-costs=[1214116450, 331401897] cpu-comparison-result=120 [max(120 (self) vs 11 (sum children))]
-| 03:AGGREGATE [STREAMING]
-| | output: sum(tpcds_partitioned_parquet_snap.store_returns.sr_fee)
-| | group by: tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk, tpcds_partitioned_parquet_snap.store_returns.sr_store_sk
-| | mem-estimate=34.51MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=4 row-size=24B cardinality=160.81M cost=949210422
-| | in pipelines: 00(GETNEXT)
-| |
-| 02:HASH JOIN [INNER JOIN, BROADCAST]
-| | hash-table-id=04
-| | hash predicates: tpcds_partitioned_parquet_snap.store_returns.sr_returned_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_returns.sr_returned_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| | mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=0,2 row-size=321B cardinality=160.81M cost=70387524
-| | in pipelines: 00(GETNEXT), 01(OPEN)
+| | join-table-id=03 plan-id=04 cohort-id=01
+| | build expressions: tpcds_partitioned_parquet_snap.store.s_store_sk
+| | runtime filters: RF004[bloom] <- tpcds_partitioned_parquet_snap.store.s_store_sk, RF005[min_max] <- tpcds_partitioned_parquet_snap.store.s_store_sk
+| | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=46
| |
-| |--F15:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=24.42MB mem-reservation=24.25MB thread-reservation=1 runtime-filters-memory=1.00MB
-| | | max-parallelism=10 segment-costs=[863]
-| | JOIN BUILD
-| | | join-table-id=04 plan-id=05 cohort-id=03
-| | | build expressions: tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| | | runtime filters: RF006[bloom] <- tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=373
-| | |
-| | 15:EXCHANGE [BROADCAST]
-| | | mem-estimate=174.22KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=2 row-size=237B cardinality=373 cost=490
-| | | in pipelines: 01(GETNEXT)
-| | |
-| | F02:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | max-parallelism=1 segment-costs=[112899]
-| | 01:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | HDFS partitions=1/1 files=1 size=2.17MB
-| | predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
-| | stored statistics:
-| | table: rows=73.05K size=2.17MB
-| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
-| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=2 row-size=237B cardinality=373 cost=112653
-| | in pipelines: 01(GETNEXT)
+| 18:EXCHANGE [BROADCAST]
+| | mem-estimate=41.39KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=7 row-size=459B cardinality=46 cost=60
+| | in pipelines: 05(GETNEXT)
| |
-| 00:SCAN HDFS [tpcds_partitioned_parquet_snap.store_returns, RANDOM]
-| HDFS partitions=2004/2004 files=2004 size=48.14GB
-| runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF005[min_max] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF004[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF006[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_returned_date_sk
+| F03:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
+| Per-Instance Resources: mem-estimate=17.81MB mem-reservation=232.00KB thread-reservation=1
+| max-parallelism=1 segment-costs=[4813]
+| 05:SCAN HDFS [tpcds_partitioned_parquet_snap.store, RANDOM]
+| HDFS partitions=1/1 files=1 size=119.76KB
+| predicates: tpcds_partitioned_parquet_snap.store.s_state = 'TN'
+| runtime filters: RF003[min_max] -> tpcds_partitioned_parquet_snap.store.s_store_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.store.s_store_sk
| stored statistics:
-| table: rows=863.99M size=48.14GB
-| partitions: 2004/2004 rows=863.99M
+| table: rows=1.35K size=119.76KB
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=30.09M est-scan-range=373(filtered from 2004)
-| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-| tuple-ids=0 row-size=84B cardinality=160.81M(filtered from 863.99M) cost=194518504
-| in pipelines: 00(GETNEXT)
+| extrapolated-rows=disabled max-scan-range-rows=1.35K
+| parquet statistics predicates: tpcds_partitioned_parquet_snap.store.s_state = 'TN'
+| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store.s_state = 'TN'
+| mem-estimate=16.00MB mem-reservation=232.00KB thread-reservation=0
+| tuple-ids=7 row-size=459B cardinality=46 cost=4756
+| in pipelines: 05(GETNEXT)
+|
+17:AGGREGATE [FINALIZE]
+| output: sum:merge(tpcds_partitioned_parquet_snap.store_returns.sr_fee)
+| group by: tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk, tpcds_partitioned_parquet_snap.store_returns.sr_store_sk
+| mem-estimate=46.01MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=6 row-size=24B cardinality=160.81M cost=949210422
+| in pipelines: 17(GETNEXT), 01(OPEN)
+|
+16:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk,tpcds_partitioned_parquet_snap.store_returns.sr_store_sk)]
+| mem-estimate=13.28MB mem-reservation=0B thread-reservation=0
+| tuple-ids=6 row-size=24B cardinality=160.81M cost=35619914
+| in pipelines: 01(GETNEXT)
+|
+F00:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+Per-Host Shared Resources: mem-estimate=19.00MB mem-reservation=19.00MB thread-reservation=0 runtime-filters-memory=19.00MB
+Per-Instance Resources: mem-estimate=63.63MB mem-reservation=34.50MB thread-reservation=1
+max-parallelism=130 segment-costs=[1214116450, 331401897] cpu-comparison-result=120 [max(120 (self) vs 11 (sum children))]
+04:AGGREGATE [STREAMING]
+| output: sum(tpcds_partitioned_parquet_snap.store_returns.sr_fee)
+| group by: tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk, tpcds_partitioned_parquet_snap.store_returns.sr_store_sk
+| mem-estimate=34.51MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=6 row-size=24B cardinality=160.81M cost=949210422
+| in pipelines: 01(GETNEXT)
+|
+03:HASH JOIN [INNER JOIN, BROADCAST]
+| hash-table-id=04
+| hash predicates: tpcds_partitioned_parquet_snap.store_returns.sr_returned_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_returns.sr_returned_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=2,4 row-size=321B cardinality=160.81M cost=70387524
+| in pipelines: 01(GETNEXT), 02(OPEN)
+|
+|--F14:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=24.42MB mem-reservation=24.25MB thread-reservation=1 runtime-filters-memory=1.00MB
+| | max-parallelism=10 segment-costs=[863]
+| JOIN BUILD
+| | join-table-id=04 plan-id=05 cohort-id=01
+| | build expressions: tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| | runtime filters: RF006[bloom] <- tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=373
+| |
+| 15:EXCHANGE [BROADCAST]
+| | mem-estimate=174.22KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=4 row-size=237B cardinality=373 cost=490
+| | in pipelines: 02(GETNEXT)
+| |
+| F01:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| max-parallelism=1 segment-costs=[112899]
+| 02:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| HDFS partitions=1/1 files=1 size=2.17MB
+| predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
+| stored statistics:
+| table: rows=73.05K size=2.17MB
+| columns: all
+| extrapolated-rows=disabled max-scan-range-rows=73.05K
+| parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
+| parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
+| mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| tuple-ids=4 row-size=237B cardinality=373 cost=112653
+| in pipelines: 02(GETNEXT)
|
-19:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.customer.c_customer_sk)]
-| mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| tuple-ids=7 row-size=204B cardinality=11.07M(filtered from 30.00M) cost=11635795
-| in pipelines: 06(GETNEXT)
-|
-F00:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-Per-Host Shared Resources: mem-estimate=8.00MB mem-reservation=8.00MB thread-reservation=0 runtime-filters-memory=8.00MB
-Per-Instance Resources: mem-estimate=113.68MB mem-reservation=1.00MB thread-reservation=1
-max-parallelism=10 segment-costs=[198211871]
-06:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
- HDFS partitions=1/1 files=1 size=1.55GB
- runtime filters: RF003[min_max] -> tpcds_partitioned_parquet_snap.customer.c_customer_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.customer.c_customer_sk
+01:SCAN HDFS [tpcds_partitioned_parquet_snap.store_returns, RANDOM]
+ HDFS partitions=2004/2004 files=2004 size=48.14GB
+ runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk, RF003[min_max] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF005[min_max] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_customer_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF004[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF006[bloom] -> [...]
stored statistics:
- table: rows=30.00M size=1.55GB
+ table: rows=863.99M size=48.14GB
+ partitions: 2004/2004 rows=863.99M
columns: all
- extrapolated-rows=disabled max-scan-range-rows=3.10M
- mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
- tuple-ids=7 row-size=204B cardinality=11.07M(filtered from 30.00M) cost=46823813
- in pipelines: 06(GETNEXT)
+ extrapolated-rows=disabled max-scan-range-rows=30.09M est-scan-range=373(filtered from 2004)
+ mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
+ tuple-ids=2 row-size=84B cardinality=160.81M(filtered from 863.99M) cost=194518504
+ in pipelines: 01(GETNEXT)
====
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q03.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q03.test
index 0e517875e..b2f2a91e6 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q03.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q03.test
@@ -25,7 +25,7 @@ Max Per-Host Resource Reservation: Memory=48.81MB Threads=1
Per-Host Resource Estimates: Memory=544MB
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=544.41MB mem-reservation=48.81MB thread-reservation=1 runtime-filters-memory=2.00MB
-| max-parallelism=1 segment-costs=[13570228591, 117158429, 400]
+| max-parallelism=1 segment-costs=[12006302306, 117158429, 400]
PLAN-ROOT SINK
| output exprs: tpcds_partitioned_parquet_snap.date_dim.d_year, tpcds_partitioned_parquet_snap.item.i_brand_id, tpcds_partitioned_parquet_snap.item.i_brand, sum(tpcds_partitioned_parquet_snap.store_sales.ss_sales_price)
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=400
@@ -44,35 +44,14 @@ PLAN-ROOT SINK
| in pipelines: 05(GETNEXT), 00(OPEN)
|
04:HASH JOIN [INNER JOIN]
-| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
-| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
-| runtime filters: RF000[bloom] <- tpcds_partitioned_parquet_snap.item.i_item_sk, RF001[min_max] <- tpcds_partitioned_parquet_snap.item.i_item_sk
-| mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=0,2,4 row-size=739B cardinality=9.00M cost=3937676
-| in pipelines: 00(GETNEXT), 03(OPEN)
-|
-|--03:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
-| HDFS partitions=1/1 files=1 size=33.54MB
-| predicates: tpcds_partitioned_parquet_snap.item.i_manufact_id = CAST(816 AS INT)
-| stored statistics:
-| table: rows=360.00K size=33.54MB
-| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=101.54K
-| parquet statistics predicates: tpcds_partitioned_parquet_snap.item.i_manufact_id = CAST(816 AS INT)
-| parquet dictionary predicates: tpcds_partitioned_parquet_snap.item.i_manufact_id = CAST(816 AS INT)
-| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-| tuple-ids=4 row-size=405B cardinality=375 cost=1365725
-| in pipelines: 03(GETNEXT)
-|
-02:HASH JOIN [INNER JOIN]
| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| runtime filters: RF002[bloom] <- tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| runtime filters: RF000[bloom] <- tpcds_partitioned_parquet_snap.date_dim.d_date_sk
| mem-estimate=2.88MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
-| tuple-ids=0,2 row-size=333B cardinality=9.00M(filtered from 8.64G) cost=1567869673
-| in pipelines: 00(GETNEXT), 01(OPEN)
+| tuple-ids=0,2,4 row-size=739B cardinality=9.00M cost=3943388
+| in pipelines: 00(GETNEXT), 03(OPEN)
|
-|--01:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+|--03:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
| HDFS partitions=1/1 files=1 size=2.17MB
| predicates: tpcds_partitioned_parquet_snap.date_dim.d_moy = CAST(11 AS INT)
| stored statistics:
@@ -82,12 +61,33 @@ PLAN-ROOT SINK
| parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim.d_moy = CAST(11 AS INT)
| parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim.d_moy = CAST(11 AS INT)
| mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| tuple-ids=2 row-size=237B cardinality=6.09K cost=112653
+| tuple-ids=4 row-size=237B cardinality=6.09K cost=112653
+| in pipelines: 03(GETNEXT)
+|
+02:HASH JOIN [INNER JOIN]
+| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
+| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
+| runtime filters: RF002[bloom] <- tpcds_partitioned_parquet_snap.item.i_item_sk, RF003[min_max] <- tpcds_partitioned_parquet_snap.item.i_item_sk
+| mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=0,2 row-size=501B cardinality=9.00M cost=3937676
+| in pipelines: 00(GETNEXT), 01(OPEN)
+|
+|--01:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
+| HDFS partitions=1/1 files=1 size=33.54MB
+| predicates: tpcds_partitioned_parquet_snap.item.i_manufact_id = CAST(816 AS INT)
+| stored statistics:
+| table: rows=360.00K size=33.54MB
+| columns: all
+| extrapolated-rows=disabled max-scan-range-rows=101.54K
+| parquet statistics predicates: tpcds_partitioned_parquet_snap.item.i_manufact_id = CAST(816 AS INT)
+| parquet dictionary predicates: tpcds_partitioned_parquet_snap.item.i_manufact_id = CAST(816 AS INT)
+| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
+| tuple-ids=2 row-size=405B cardinality=375 cost=1365725
| in pipelines: 01(GETNEXT)
|
00:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales]
HDFS partitions=1824/1824 files=1824 size=389.90GB
- runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.store_sales.ss_item_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_item_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk
+ runtime filters: RF003[min_max] -> tpcds_partitioned_parquet_snap.store_sales.ss_item_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_item_sk
stored statistics:
table: rows=8.64G size=389.90GB
partitions: 1824/1824 rows=8.64G
@@ -137,7 +137,7 @@ max-parallelism=20 segment-costs=[56254141, 117158429, 168] cpu-comparison-resul
F00:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
Per-Host Shared Resources: mem-estimate=2.00MB mem-reservation=2.00MB thread-reservation=0 runtime-filters-memory=2.00MB
Per-Instance Resources: mem-estimate=30.39MB mem-reservation=13.00MB thread-reservation=1
-max-parallelism=1360 segment-costs=[13568743751, 34850578] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
+max-parallelism=1210 segment-costs=[12004817466, 34850578] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
05:AGGREGATE [STREAMING]
| output: sum(tpcds_partitioned_parquet_snap.store_sales.ss_sales_price)
| group by: tpcds_partitioned_parquet_snap.date_dim.d_year, tpcds_partitioned_parquet_snap.item.i_brand, tpcds_partitioned_parquet_snap.item.i_brand_id
@@ -147,83 +147,83 @@ max-parallelism=1360 segment-costs=[13568743751, 34850578] cpu-comparison-result
|
04:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=00
-| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
-| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
-| mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
+| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| mem-estimate=0B mem-reservation=0B spill-buffer=128.00KB thread-reservation=0
| tuple-ids=0,2,4 row-size=739B cardinality=9.00M cost=3937301
| in pipelines: 00(GETNEXT), 03(OPEN)
|
|--F05:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=24.98MB mem-reservation=24.25MB thread-reservation=1 runtime-filters-memory=1.00MB
-| | max-parallelism=10 segment-costs=[865]
+| | Per-Instance Resources: mem-estimate=37.11MB mem-reservation=35.50MB thread-reservation=1 runtime-filters-memory=1.00MB
+| | max-parallelism=10 segment-costs=[14167]
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
-| | build expressions: tpcds_partitioned_parquet_snap.item.i_item_sk
-| | runtime filters: RF000[bloom] <- tpcds_partitioned_parquet_snap.item.i_item_sk, RF001[min_max] <- tpcds_partitioned_parquet_snap.item.i_item_sk
-| | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=375
+| | build expressions: tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| | runtime filters: RF000[bloom] <- tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| | mem-estimate=34.50MB mem-reservation=34.50MB spill-buffer=128.00KB thread-reservation=0 cost=6087
| |
| 08:EXCHANGE [BROADCAST]
-| | mem-estimate=748.35KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=4 row-size=405B cardinality=375 cost=490
+| | mem-estimate=1.61MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=4 row-size=237B cardinality=6.09K cost=8080
| | in pipelines: 03(GETNEXT)
| |
-| F02:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| Per-Instance Resources: mem-estimate=17.60MB mem-reservation=512.00KB thread-reservation=1
-| max-parallelism=4 segment-costs=[1366143]
-| 03:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-| HDFS partitions=1/1 files=1 size=33.54MB
-| predicates: tpcds_partitioned_parquet_snap.item.i_manufact_id = CAST(816 AS INT)
+| F02:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| max-parallelism=1 segment-costs=[116681]
+| 03:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| HDFS partitions=1/1 files=1 size=2.17MB
+| predicates: tpcds_partitioned_parquet_snap.date_dim.d_moy = CAST(11 AS INT)
| stored statistics:
-| table: rows=360.00K size=33.54MB
+| table: rows=73.05K size=2.17MB
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=101.54K
-| parquet statistics predicates: tpcds_partitioned_parquet_snap.item.i_manufact_id = CAST(816 AS INT)
-| parquet dictionary predicates: tpcds_partitioned_parquet_snap.item.i_manufact_id = CAST(816 AS INT)
-| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-| tuple-ids=4 row-size=405B cardinality=375 cost=1365725
+| extrapolated-rows=disabled max-scan-range-rows=73.05K
+| parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim.d_moy = CAST(11 AS INT)
+| parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim.d_moy = CAST(11 AS INT)
+| mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| tuple-ids=4 row-size=237B cardinality=6.09K cost=112653
| in pipelines: 03(GETNEXT)
|
02:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=01
-| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| mem-estimate=0B mem-reservation=0B spill-buffer=128.00KB thread-reservation=0
-| tuple-ids=0,2 row-size=333B cardinality=9.00M(filtered from 8.64G) cost=1567863586
+| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
+| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
+| mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=0,2 row-size=501B cardinality=9.00M cost=3937301
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--F06:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=37.11MB mem-reservation=35.50MB thread-reservation=1 runtime-filters-memory=1.00MB
-| | max-parallelism=10 segment-costs=[14167]
+| | Per-Instance Resources: mem-estimate=24.98MB mem-reservation=24.25MB thread-reservation=1 runtime-filters-memory=1.00MB
+| | max-parallelism=10 segment-costs=[865]
| JOIN BUILD
| | join-table-id=01 plan-id=02 cohort-id=01
-| | build expressions: tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| | runtime filters: RF002[bloom] <- tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| | mem-estimate=34.50MB mem-reservation=34.50MB spill-buffer=128.00KB thread-reservation=0 cost=6087
+| | build expressions: tpcds_partitioned_parquet_snap.item.i_item_sk
+| | runtime filters: RF002[bloom] <- tpcds_partitioned_parquet_snap.item.i_item_sk, RF003[min_max] <- tpcds_partitioned_parquet_snap.item.i_item_sk
+| | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=375
| |
| 07:EXCHANGE [BROADCAST]
-| | mem-estimate=1.61MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=2 row-size=237B cardinality=6.09K cost=8080
+| | mem-estimate=748.35KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=2 row-size=405B cardinality=375 cost=490
| | in pipelines: 01(GETNEXT)
| |
-| F01:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[116681]
-| 01:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| HDFS partitions=1/1 files=1 size=2.17MB
-| predicates: tpcds_partitioned_parquet_snap.date_dim.d_moy = CAST(11 AS INT)
+| F01:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
+| Per-Instance Resources: mem-estimate=17.60MB mem-reservation=512.00KB thread-reservation=1
+| max-parallelism=4 segment-costs=[1366143]
+| 01:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
+| HDFS partitions=1/1 files=1 size=33.54MB
+| predicates: tpcds_partitioned_parquet_snap.item.i_manufact_id = CAST(816 AS INT)
| stored statistics:
-| table: rows=73.05K size=2.17MB
+| table: rows=360.00K size=33.54MB
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=73.05K
-| parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim.d_moy = CAST(11 AS INT)
-| parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim.d_moy = CAST(11 AS INT)
-| mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| tuple-ids=2 row-size=237B cardinality=6.09K cost=112653
+| extrapolated-rows=disabled max-scan-range-rows=101.54K
+| parquet statistics predicates: tpcds_partitioned_parquet_snap.item.i_manufact_id = CAST(816 AS INT)
+| parquet dictionary predicates: tpcds_partitioned_parquet_snap.item.i_manufact_id = CAST(816 AS INT)
+| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
+| tuple-ids=2 row-size=405B cardinality=375 cost=1365725
| in pipelines: 01(GETNEXT)
|
00:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
HDFS partitions=1824/1824 files=1824 size=389.90GB
- runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.store_sales.ss_item_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_item_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk
+ runtime filters: RF003[min_max] -> tpcds_partitioned_parquet_snap.store_sales.ss_item_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_item_sk
stored statistics:
table: rows=8.64G size=389.90GB
partitions: 1824/1824 rows=8.64G
@@ -273,7 +273,7 @@ max-parallelism=20 segment-costs=[56254141, 117158429, 168] cpu-comparison-resul
F00:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
Per-Host Shared Resources: mem-estimate=2.00MB mem-reservation=2.00MB thread-reservation=0 runtime-filters-memory=2.00MB
Per-Instance Resources: mem-estimate=30.39MB mem-reservation=13.00MB thread-reservation=1
-max-parallelism=1360 segment-costs=[13568743751, 34850578] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
+max-parallelism=1210 segment-costs=[12004817466, 34850578] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
05:AGGREGATE [STREAMING]
| output: sum(tpcds_partitioned_parquet_snap.store_sales.ss_sales_price)
| group by: tpcds_partitioned_parquet_snap.date_dim.d_year, tpcds_partitioned_parquet_snap.item.i_brand, tpcds_partitioned_parquet_snap.item.i_brand_id
@@ -283,83 +283,83 @@ max-parallelism=1360 segment-costs=[13568743751, 34850578] cpu-comparison-result
|
04:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=00
-| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
-| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
-| mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
+| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| mem-estimate=0B mem-reservation=0B spill-buffer=128.00KB thread-reservation=0
| tuple-ids=0,2,4 row-size=739B cardinality=9.00M cost=3937301
| in pipelines: 00(GETNEXT), 03(OPEN)
|
|--F05:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=24.98MB mem-reservation=24.25MB thread-reservation=1 runtime-filters-memory=1.00MB
-| | max-parallelism=10 segment-costs=[865]
+| | Per-Instance Resources: mem-estimate=37.11MB mem-reservation=35.50MB thread-reservation=1 runtime-filters-memory=1.00MB
+| | max-parallelism=10 segment-costs=[14167]
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
-| | build expressions: tpcds_partitioned_parquet_snap.item.i_item_sk
-| | runtime filters: RF000[bloom] <- tpcds_partitioned_parquet_snap.item.i_item_sk, RF001[min_max] <- tpcds_partitioned_parquet_snap.item.i_item_sk
-| | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=375
+| | build expressions: tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| | runtime filters: RF000[bloom] <- tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| | mem-estimate=34.50MB mem-reservation=34.50MB spill-buffer=128.00KB thread-reservation=0 cost=6087
| |
| 08:EXCHANGE [BROADCAST]
-| | mem-estimate=748.35KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=4 row-size=405B cardinality=375 cost=490
+| | mem-estimate=1.61MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=4 row-size=237B cardinality=6.09K cost=8080
| | in pipelines: 03(GETNEXT)
| |
-| F02:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| Per-Instance Resources: mem-estimate=17.60MB mem-reservation=512.00KB thread-reservation=1
-| max-parallelism=4 segment-costs=[1366143]
-| 03:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-| HDFS partitions=1/1 files=1 size=33.54MB
-| predicates: tpcds_partitioned_parquet_snap.item.i_manufact_id = CAST(816 AS INT)
+| F02:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| max-parallelism=1 segment-costs=[116681]
+| 03:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| HDFS partitions=1/1 files=1 size=2.17MB
+| predicates: tpcds_partitioned_parquet_snap.date_dim.d_moy = CAST(11 AS INT)
| stored statistics:
-| table: rows=360.00K size=33.54MB
+| table: rows=73.05K size=2.17MB
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=101.54K
-| parquet statistics predicates: tpcds_partitioned_parquet_snap.item.i_manufact_id = CAST(816 AS INT)
-| parquet dictionary predicates: tpcds_partitioned_parquet_snap.item.i_manufact_id = CAST(816 AS INT)
-| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-| tuple-ids=4 row-size=405B cardinality=375 cost=1365725
+| extrapolated-rows=disabled max-scan-range-rows=73.05K
+| parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim.d_moy = CAST(11 AS INT)
+| parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim.d_moy = CAST(11 AS INT)
+| mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| tuple-ids=4 row-size=237B cardinality=6.09K cost=112653
| in pipelines: 03(GETNEXT)
|
02:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=01
-| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| mem-estimate=0B mem-reservation=0B spill-buffer=128.00KB thread-reservation=0
-| tuple-ids=0,2 row-size=333B cardinality=9.00M(filtered from 8.64G) cost=1567863586
+| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
+| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
+| mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=0,2 row-size=501B cardinality=9.00M cost=3937301
| in pipelines: 00(GETNEXT), 01(OPEN)
|
|--F06:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=37.11MB mem-reservation=35.50MB thread-reservation=1 runtime-filters-memory=1.00MB
-| | max-parallelism=10 segment-costs=[14167]
+| | Per-Instance Resources: mem-estimate=24.98MB mem-reservation=24.25MB thread-reservation=1 runtime-filters-memory=1.00MB
+| | max-parallelism=10 segment-costs=[865]
| JOIN BUILD
| | join-table-id=01 plan-id=02 cohort-id=01
-| | build expressions: tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| | runtime filters: RF002[bloom] <- tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| | mem-estimate=34.50MB mem-reservation=34.50MB spill-buffer=128.00KB thread-reservation=0 cost=6087
+| | build expressions: tpcds_partitioned_parquet_snap.item.i_item_sk
+| | runtime filters: RF002[bloom] <- tpcds_partitioned_parquet_snap.item.i_item_sk, RF003[min_max] <- tpcds_partitioned_parquet_snap.item.i_item_sk
+| | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=375
| |
| 07:EXCHANGE [BROADCAST]
-| | mem-estimate=1.61MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=2 row-size=237B cardinality=6.09K cost=8080
+| | mem-estimate=748.35KB mem-reservation=0B thread-reservation=0
+| | tuple-ids=2 row-size=405B cardinality=375 cost=490
| | in pipelines: 01(GETNEXT)
| |
-| F01:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[116681]
-| 01:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| HDFS partitions=1/1 files=1 size=2.17MB
-| predicates: tpcds_partitioned_parquet_snap.date_dim.d_moy = CAST(11 AS INT)
+| F01:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
+| Per-Instance Resources: mem-estimate=17.60MB mem-reservation=512.00KB thread-reservation=1
+| max-parallelism=4 segment-costs=[1366143]
+| 01:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
+| HDFS partitions=1/1 files=1 size=33.54MB
+| predicates: tpcds_partitioned_parquet_snap.item.i_manufact_id = CAST(816 AS INT)
| stored statistics:
-| table: rows=73.05K size=2.17MB
+| table: rows=360.00K size=33.54MB
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=73.05K
-| parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim.d_moy = CAST(11 AS INT)
-| parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim.d_moy = CAST(11 AS INT)
-| mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| tuple-ids=2 row-size=237B cardinality=6.09K cost=112653
+| extrapolated-rows=disabled max-scan-range-rows=101.54K
+| parquet statistics predicates: tpcds_partitioned_parquet_snap.item.i_manufact_id = CAST(816 AS INT)
+| parquet dictionary predicates: tpcds_partitioned_parquet_snap.item.i_manufact_id = CAST(816 AS INT)
+| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
+| tuple-ids=2 row-size=405B cardinality=375 cost=1365725
| in pipelines: 01(GETNEXT)
|
00:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
HDFS partitions=1824/1824 files=1824 size=389.90GB
- runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.store_sales.ss_item_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_item_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk
+ runtime filters: RF003[min_max] -> tpcds_partitioned_parquet_snap.store_sales.ss_item_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_item_sk
stored statistics:
table: rows=8.64G size=389.90GB
partitions: 1824/1824 rows=8.64G
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q04.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q04.test
index e1f8dfa15..16414a8e6 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q04.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q04.test
@@ -120,7 +120,7 @@ Max Per-Host Resource Reservation: Memory=990.00MB Threads=1
Per-Host Resource Estimates: Memory=382.06GB
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=382.06GB mem-reservation=990.00MB thread-reservation=1 runtime-filters-memory=160.00MB
-| max-parallelism=1 segment-costs=[56618142768, 35730103736, 17935343437, 56618142768, 35730103736, 17935343437, 56618142768, 35730103736, 17935343437, 56618142768, 35730103736, 17935343437, 56618142768, 35730103736, 17935343437, 56618142768, 35730103736, 17935343437, 234049227739, 400]
+| max-parallelism=1 segment-costs=[56489724478, 35665892950, 17904128344, 56489724478, 35665892950, 17904128344, 56489724478, 35665892950, 17904128344, 56489724478, 35665892950, 17904128344, 56489724478, 35665892950, 17904128344, 56489724478, 35665892950, 17904128344, 234049227739, 400]
PLAN-ROOT SINK
| output exprs: CUSTOMER_ID, CUSTOMER_FIRST_NAME, CUSTOMER_LAST_NAME, CUSTOMER_BIRTH_COUNTRY
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=400
@@ -140,9 +140,9 @@ PLAN-ROOT SINK
| in pipelines: 07(GETNEXT), 13(GETNEXT), 19(GETNEXT), 116(OPEN), 122(OPEN), 128(OPEN)
|
|--129:SELECT
-| | predicates: DYEAR = add(CAST(1999 AS INT), CAST(1 AS INT)), SALE_TYPE = 's'
+| | predicates: DYEAR = CAST(1999 AS INT), SALE_TYPE = 'w', YEAR_TOTAL > CAST(0 AS DECIMAL(3,0))
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=137 row-size=116B cardinality=1.18G cost=23666825216
+| | tuple-ids=137 row-size=116B cardinality=1.18G cost=35500236800
| | in pipelines: 116(GETNEXT), 122(GETNEXT), 128(GETNEXT)
| |
| 109:UNION
@@ -159,43 +159,43 @@ PLAN-ROOT SINK
| | | in pipelines: 128(GETNEXT), 123(OPEN)
| | |
| | 127:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_4.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_4.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
-| | | runtime filters: RF069[min_max] <- tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=130,132,134 row-size=582B cardinality=1.99G cost=900015958
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_4.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_16.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_4.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_16.d_date_sk
+| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=130,132,134 row-size=582B cardinality=1.99G cost=870089007
| | | in pipelines: 123(GETNEXT), 126(OPEN)
| | |
-| | |--126:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | |--126:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=134 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=134 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 126(GETNEXT)
| | |
| | 125:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_4.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_16.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_4.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_16.d_date_sk
-| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=130,132 row-size=377B cardinality=1.99G(filtered from 2.16G) cost=901304100
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_4.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_4.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
+| | | runtime filters: RF071[min_max] <- tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=130,132 row-size=344B cardinality=1.99G cost=900015958
| | | in pipelines: 123(GETNEXT), 124(OPEN)
| | |
-| | |--124:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | |--124:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=132 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=132 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 124(GETNEXT)
| | |
| | 123:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales]
| | HDFS partitions=1824/1824 files=1824 size=145.75GB
-| | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.web_sales_4.ws_bill_customer_sk
+| | runtime filters: RF071[min_max] -> tpcds_partitioned_parquet_snap.web_sales_4.ws_bill_customer_sk
| | stored statistics:
| | table: rows=2.16G size=145.75GB
| | partitions: 1824/1824 rows=2.16G
@@ -218,43 +218,43 @@ PLAN-ROOT SINK
| | | in pipelines: 122(GETNEXT), 117(OPEN)
| | |
| | 121:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
-| | | runtime filters: RF065[min_max] <- tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=122,124,126 row-size=582B cardinality=3.97G cost=1765792939
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_15.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_15.d_date_sk
+| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=122,124,126 row-size=582B cardinality=3.97G cost=1735865988
| | | in pipelines: 117(GETNEXT), 120(OPEN)
| | |
-| | |--120:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | |--120:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=126 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=126 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 120(GETNEXT)
| | |
| | 119:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_15.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_15.d_date_sk
-| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=122,124 row-size=377B cardinality=3.97G(filtered from 4.32G) cost=1800076774
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
+| | | runtime filters: RF067[min_max] <- tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=122,124 row-size=344B cardinality=3.97G cost=1765792939
| | | in pipelines: 117(GETNEXT), 118(OPEN)
| | |
-| | |--118:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | |--118:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=124 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=124 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 118(GETNEXT)
| | |
| | 117:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales]
| | HDFS partitions=1831/1831 files=1831 size=280.96GB
-| | runtime filters: RF065[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_4.cs_bill_customer_sk
+| | runtime filters: RF067[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_4.cs_bill_customer_sk
| | stored statistics:
| | table: rows=4.32G size=280.96GB
| | partitions: 1831/1831 rows=4.32G
@@ -272,43 +272,43 @@ PLAN-ROOT SINK
| | in pipelines: 116(GETNEXT), 111(OPEN)
| |
| 115:HASH JOIN [INNER JOIN]
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
-| | runtime filters: RF060[bloom] <- tpcds_partitioned_parquet_snap.customer_14.c_customer_sk, RF061[min_max] <- tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
-| | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=115,117,119 row-size=538B cardinality=7.93G cost=3501497176
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_14.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_4.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_14.d_date_sk
+| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=115,117,119 row-size=538B cardinality=7.93G cost=3471570225
| | in pipelines: 111(GETNEXT), 114(OPEN)
| |
-| |--114:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| |--114:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=119 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=119 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 114(GETNEXT)
| |
| 113:HASH JOIN [INNER JOIN]
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_14.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_4.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_14.d_date_sk
-| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=115,117 row-size=333B cardinality=7.93G(filtered from 8.64G) cost=3599988515
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
+| | runtime filters: RF062[bloom] <- tpcds_partitioned_parquet_snap.customer_14.c_customer_sk, RF063[min_max] <- tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
+| | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=115,117 row-size=300B cardinality=7.93G cost=3501497176
| | in pipelines: 111(GETNEXT), 112(OPEN)
| |
-| |--112:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| |--112:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=117 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=117 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 112(GETNEXT)
| |
| 111:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales]
| HDFS partitions=1824/1824 files=1824 size=389.90GB
-| runtime filters: RF061[min_max] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk, RF060[bloom] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk
+| runtime filters: RF063[min_max] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk, RF062[bloom] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk
| stored statistics:
| table: rows=8.64G size=389.90GB
| partitions: 1824/1824 rows=8.64G
@@ -321,15 +321,14 @@ PLAN-ROOT SINK
108:HASH JOIN [INNER JOIN]
| hash predicates: CUSTOMER_ID = CUSTOMER_ID
| fk/pk conjuncts: assumed fk/pk
-| other join predicates: CASE WHEN YEAR_TOTAL > CAST(0 AS DECIMAL(3,0)) THEN divide(YEAR_TOTAL, YEAR_TOTAL) ELSE NULL END > CASE WHEN YEAR_TOTAL > CAST(0 AS DECIMAL(3,0)) THEN divide(YEAR_TOTAL, YEAR_TOTAL) ELSE NULL END
| mem-estimate=50.00GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=22,45,68,91,114 row-size=580B cardinality=1.18G cost=1701289795
| in pipelines: 07(GETNEXT), 13(GETNEXT), 19(GETNEXT), 94(OPEN), 100(OPEN), 106(OPEN)
|
|--107:SELECT
-| | predicates: DYEAR = CAST(1999 AS INT), SALE_TYPE = 'c', YEAR_TOTAL > CAST(0 AS DECIMAL(3,0))
+| | predicates: DYEAR = add(CAST(1999 AS INT), CAST(1 AS INT)), SALE_TYPE = 'w'
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=114 row-size=116B cardinality=1.18G cost=35500236800
+| | tuple-ids=114 row-size=116B cardinality=1.18G cost=23666825216
| | in pipelines: 94(GETNEXT), 100(GETNEXT), 106(GETNEXT)
| |
| 87:UNION
@@ -346,43 +345,43 @@ PLAN-ROOT SINK
| | | in pipelines: 106(GETNEXT), 101(OPEN)
| | |
| | 105:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_3.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_3.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
-| | | runtime filters: RF057[min_max] <- tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=107,109,111 row-size=582B cardinality=1.99G cost=900015958
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_3.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_3.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
+| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=107,109,111 row-size=582B cardinality=1.99G cost=870089007
| | | in pipelines: 101(GETNEXT), 104(OPEN)
| | |
-| | |--104:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | |--104:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=111 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=111 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 104(GETNEXT)
| | |
| | 103:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_3.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_3.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
-| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=107,109 row-size=377B cardinality=1.99G(filtered from 2.16G) cost=901304100
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_3.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_3.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
+| | | runtime filters: RF059[min_max] <- tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=107,109 row-size=344B cardinality=1.99G cost=900015958
| | | in pipelines: 101(GETNEXT), 102(OPEN)
| | |
-| | |--102:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | |--102:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=109 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=109 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 102(GETNEXT)
| | |
| | 101:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales]
| | HDFS partitions=1824/1824 files=1824 size=145.75GB
-| | runtime filters: RF057[min_max] -> tpcds_partitioned_parquet_snap.web_sales_3.ws_bill_customer_sk
+| | runtime filters: RF059[min_max] -> tpcds_partitioned_parquet_snap.web_sales_3.ws_bill_customer_sk
| | stored statistics:
| | table: rows=2.16G size=145.75GB
| | partitions: 1824/1824 rows=2.16G
@@ -405,43 +404,43 @@ PLAN-ROOT SINK
| | | in pipelines: 100(GETNEXT), 95(OPEN)
| | |
| | 99:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
-| | | runtime filters: RF053[min_max] <- tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=99,101,103 row-size=582B cardinality=3.97G cost=1765792939
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_12.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_12.d_date_sk
+| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=99,101,103 row-size=582B cardinality=3.97G cost=1735865988
| | | in pipelines: 95(GETNEXT), 98(OPEN)
| | |
-| | |--98:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | |--98:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=103 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=103 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 98(GETNEXT)
| | |
| | 97:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_12.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_12.d_date_sk
-| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=99,101 row-size=377B cardinality=3.97G(filtered from 4.32G) cost=1800076774
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
+| | | runtime filters: RF055[min_max] <- tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=99,101 row-size=344B cardinality=3.97G cost=1765792939
| | | in pipelines: 95(GETNEXT), 96(OPEN)
| | |
-| | |--96:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | |--96:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=101 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=101 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 96(GETNEXT)
| | |
| | 95:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales]
| | HDFS partitions=1831/1831 files=1831 size=280.96GB
-| | runtime filters: RF053[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_3.cs_bill_customer_sk
+| | runtime filters: RF055[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_3.cs_bill_customer_sk
| | stored statistics:
| | table: rows=4.32G size=280.96GB
| | partitions: 1831/1831 rows=4.32G
@@ -459,43 +458,43 @@ PLAN-ROOT SINK
| | in pipelines: 94(GETNEXT), 89(OPEN)
| |
| 93:HASH JOIN [INNER JOIN]
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
-| | runtime filters: RF048[bloom] <- tpcds_partitioned_parquet_snap.customer_11.c_customer_sk, RF049[min_max] <- tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
-| | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=92,94,96 row-size=538B cardinality=7.93G cost=3501497176
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_11.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_3.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_11.d_date_sk
+| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=92,94,96 row-size=538B cardinality=7.93G cost=3471570225
| | in pipelines: 89(GETNEXT), 92(OPEN)
| |
-| |--92:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| |--92:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=96 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=96 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 92(GETNEXT)
| |
| 91:HASH JOIN [INNER JOIN]
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_11.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_3.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_11.d_date_sk
-| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=92,94 row-size=333B cardinality=7.93G(filtered from 8.64G) cost=3599988515
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
+| | runtime filters: RF050[bloom] <- tpcds_partitioned_parquet_snap.customer_11.c_customer_sk, RF051[min_max] <- tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
+| | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=92,94 row-size=300B cardinality=7.93G cost=3501497176
| | in pipelines: 89(GETNEXT), 90(OPEN)
| |
-| |--90:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| |--90:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=94 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=94 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 90(GETNEXT)
| |
| 89:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales]
| HDFS partitions=1824/1824 files=1824 size=389.90GB
-| runtime filters: RF049[min_max] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk, RF048[bloom] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk
+| runtime filters: RF051[min_max] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk, RF050[bloom] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk
| stored statistics:
| table: rows=8.64G size=389.90GB
| partitions: 1824/1824 rows=8.64G
@@ -508,14 +507,15 @@ PLAN-ROOT SINK
86:HASH JOIN [INNER JOIN]
| hash predicates: CUSTOMER_ID = CUSTOMER_ID
| fk/pk conjuncts: assumed fk/pk
+| other join predicates: CASE WHEN YEAR_TOTAL > CAST(0 AS DECIMAL(3,0)) THEN divide(YEAR_TOTAL, YEAR_TOTAL) ELSE NULL END > CASE WHEN YEAR_TOTAL > CAST(0 AS DECIMAL(3,0)) THEN divide(YEAR_TOTAL, YEAR_TOTAL) ELSE NULL END
| mem-estimate=50.00GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=22,45,68,91 row-size=464B cardinality=1.18G cost=1701289795
| in pipelines: 07(GETNEXT), 13(GETNEXT), 19(GETNEXT), 72(OPEN), 78(OPEN), 84(OPEN)
|
|--85:SELECT
-| | predicates: DYEAR = add(CAST(1999 AS INT), CAST(1 AS INT)), SALE_TYPE = 'c'
+| | predicates: DYEAR = CAST(1999 AS INT), SALE_TYPE = 'c', YEAR_TOTAL > CAST(0 AS DECIMAL(3,0))
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=91 row-size=116B cardinality=1.18G cost=23666825216
+| | tuple-ids=91 row-size=116B cardinality=1.18G cost=35500236800
| | in pipelines: 72(GETNEXT), 78(GETNEXT), 84(GETNEXT)
| |
| 65:UNION
@@ -532,43 +532,43 @@ PLAN-ROOT SINK
| | | in pipelines: 84(GETNEXT), 79(OPEN)
| | |
| | 83:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_2.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_2.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
-| | | runtime filters: RF045[min_max] <- tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=84,86,88 row-size=582B cardinality=1.99G cost=900015958
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_2.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_2.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
+| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=84,86,88 row-size=582B cardinality=1.99G cost=870089007
| | | in pipelines: 79(GETNEXT), 82(OPEN)
| | |
-| | |--82:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | |--82:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=88 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=88 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 82(GETNEXT)
| | |
| | 81:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_2.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_2.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
-| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=84,86 row-size=377B cardinality=1.99G(filtered from 2.16G) cost=901304100
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_2.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_2.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
+| | | runtime filters: RF047[min_max] <- tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=84,86 row-size=344B cardinality=1.99G cost=900015958
| | | in pipelines: 79(GETNEXT), 80(OPEN)
| | |
-| | |--80:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | |--80:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=86 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=86 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 80(GETNEXT)
| | |
| | 79:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales]
| | HDFS partitions=1824/1824 files=1824 size=145.75GB
-| | runtime filters: RF045[min_max] -> tpcds_partitioned_parquet_snap.web_sales_2.ws_bill_customer_sk
+| | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.web_sales_2.ws_bill_customer_sk
| | stored statistics:
| | table: rows=2.16G size=145.75GB
| | partitions: 1824/1824 rows=2.16G
@@ -591,43 +591,43 @@ PLAN-ROOT SINK
| | | in pipelines: 78(GETNEXT), 73(OPEN)
| | |
| | 77:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
-| | | runtime filters: RF040[bloom] <- tpcds_partitioned_parquet_snap.customer_9.c_customer_sk, RF041[min_max] <- tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=76,78,80 row-size=582B cardinality=3.97G cost=1765792939
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_9.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_9.d_date_sk
+| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=76,78,80 row-size=582B cardinality=3.97G cost=1735865988
| | | in pipelines: 73(GETNEXT), 76(OPEN)
| | |
-| | |--76:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | |--76:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=80 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=80 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 76(GETNEXT)
| | |
| | 75:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_9.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_9.d_date_sk
-| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=76,78 row-size=377B cardinality=3.97G(filtered from 4.32G) cost=1800076774
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
+| | | runtime filters: RF042[bloom] <- tpcds_partitioned_parquet_snap.customer_9.c_customer_sk, RF043[min_max] <- tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=76,78 row-size=344B cardinality=3.97G cost=1765792939
| | | in pipelines: 73(GETNEXT), 74(OPEN)
| | |
-| | |--74:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | |--74:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=78 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=78 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 74(GETNEXT)
| | |
| | 73:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales]
| | HDFS partitions=1831/1831 files=1831 size=280.96GB
-| | runtime filters: RF041[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk, RF040[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk
+| | runtime filters: RF043[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk, RF042[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk
| | stored statistics:
| | table: rows=4.32G size=280.96GB
| | partitions: 1831/1831 rows=4.32G
@@ -645,49 +645,49 @@ PLAN-ROOT SINK
| | in pipelines: 72(GETNEXT), 67(OPEN)
| |
| 71:HASH JOIN [INNER JOIN]
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
-| | runtime filters: RF036[bloom] <- tpcds_partitioned_parquet_snap.customer_8.c_customer_sk, RF037[min_max] <- tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
-| | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=69,71,73 row-size=538B cardinality=7.93G cost=3501497176
-| | in pipelines: 67(GETNEXT), 70(OPEN)
-| |
-| |--70:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
-| | HDFS partitions=1/1 files=1 size=1.55GB
-| | stored statistics:
-| | table: rows=30.00M size=1.55GB
-| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=73 row-size=204B cardinality=30.00M cost=46823813
-| | in pipelines: 70(GETNEXT)
-| |
-| 69:HASH JOIN [INNER JOIN]
| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_8.d_date_sk
| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_2.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_8.d_date_sk
| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=69,71 row-size=333B cardinality=7.93G(filtered from 8.64G) cost=3599988515
-| | in pipelines: 67(GETNEXT), 68(OPEN)
+| | tuple-ids=69,71,73 row-size=538B cardinality=7.93G cost=3471570225
+| | in pipelines: 67(GETNEXT), 70(OPEN)
| |
-| |--68:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| |--70:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
| | table: rows=73.05K size=2.17MB
| | columns: all
| | extrapolated-rows=disabled max-scan-range-rows=73.05K
| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=71 row-size=237B cardinality=73.05K cost=110600
-| | in pipelines: 68(GETNEXT)
+| | tuple-ids=73 row-size=237B cardinality=73.05K cost=110600
+| | in pipelines: 70(GETNEXT)
| |
-| 67:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales]
-| HDFS partitions=1824/1824 files=1824 size=389.90GB
-| runtime filters: RF037[min_max] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk, RF036[bloom] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk
-| stored statistics:
-| table: rows=8.64G size=389.90GB
-| partitions: 1824/1824 rows=8.64G
-| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=390.22M
-| mem-estimate=16.00MB mem-reservation=8.00MB thread-reservation=0
+| 69:HASH JOIN [INNER JOIN]
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
+| | runtime filters: RF038[bloom] <- tpcds_partitioned_parquet_snap.customer_8.c_customer_sk, RF039[min_max] <- tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
+| | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=69,71 row-size=300B cardinality=7.93G cost=3501497176
+| | in pipelines: 67(GETNEXT), 68(OPEN)
+| |
+| |--68:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+| | HDFS partitions=1/1 files=1 size=1.55GB
+| | stored statistics:
+| | table: rows=30.00M size=1.55GB
+| | columns: all
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=71 row-size=204B cardinality=30.00M cost=46823813
+| | in pipelines: 68(GETNEXT)
+| |
+| 67:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales]
+| HDFS partitions=1824/1824 files=1824 size=389.90GB
+| runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk, RF038[bloom] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk
+| stored statistics:
+| table: rows=8.64G size=389.90GB
+| partitions: 1824/1824 rows=8.64G
+| columns: all
+| extrapolated-rows=disabled max-scan-range-rows=390.22M
+| mem-estimate=16.00MB mem-reservation=8.00MB thread-reservation=0
| tuple-ids=69 row-size=96B cardinality=7.93G(filtered from 8.64G) cost=11943846410
| in pipelines: 67(GETNEXT)
|
@@ -699,9 +699,9 @@ PLAN-ROOT SINK
| in pipelines: 07(GETNEXT), 13(GETNEXT), 19(GETNEXT), 50(OPEN), 56(OPEN), 62(OPEN)
|
|--63:SELECT
-| | predicates: DYEAR = CAST(1999 AS INT), SALE_TYPE = 'w', YEAR_TOTAL > CAST(0 AS DECIMAL(3,0))
+| | predicates: DYEAR = add(CAST(1999 AS INT), CAST(1 AS INT)), SALE_TYPE = 'c'
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=68 row-size=116B cardinality=1.18G cost=35500236800
+| | tuple-ids=68 row-size=116B cardinality=1.18G cost=23666825216
| | in pipelines: 50(GETNEXT), 56(GETNEXT), 62(GETNEXT)
| |
| 43:UNION
@@ -718,43 +718,43 @@ PLAN-ROOT SINK
| | | in pipelines: 62(GETNEXT), 57(OPEN)
| | |
| | 61:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_1.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_1.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
-| | | runtime filters: RF033[min_max] <- tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=61,63,65 row-size=582B cardinality=1.99G cost=900015958
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_1.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_7.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_1.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_7.d_date_sk
+| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=61,63,65 row-size=582B cardinality=1.99G cost=870089007
| | | in pipelines: 57(GETNEXT), 60(OPEN)
| | |
-| | |--60:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | |--60:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=65 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=65 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 60(GETNEXT)
| | |
| | 59:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_1.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_7.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_1.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_7.d_date_sk
-| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=61,63 row-size=377B cardinality=1.99G(filtered from 2.16G) cost=901304100
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_1.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_1.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
+| | | runtime filters: RF035[min_max] <- tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=61,63 row-size=344B cardinality=1.99G cost=900015958
| | | in pipelines: 57(GETNEXT), 58(OPEN)
| | |
-| | |--58:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | |--58:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=63 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=63 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 58(GETNEXT)
| | |
| | 57:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales]
| | HDFS partitions=1824/1824 files=1824 size=145.75GB
-| | runtime filters: RF033[min_max] -> tpcds_partitioned_parquet_snap.web_sales_1.ws_bill_customer_sk
+| | runtime filters: RF035[min_max] -> tpcds_partitioned_parquet_snap.web_sales_1.ws_bill_customer_sk
| | stored statistics:
| | table: rows=2.16G size=145.75GB
| | partitions: 1824/1824 rows=2.16G
@@ -777,43 +777,43 @@ PLAN-ROOT SINK
| | | in pipelines: 56(GETNEXT), 51(OPEN)
| | |
| | 55:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
-| | | runtime filters: RF028[bloom] <- tpcds_partitioned_parquet_snap.customer_6.c_customer_sk, RF029[min_max] <- tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=53,55,57 row-size=582B cardinality=3.97G cost=1765792939
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
+| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=53,55,57 row-size=582B cardinality=3.97G cost=1735865988
| | | in pipelines: 51(GETNEXT), 54(OPEN)
| | |
-| | |--54:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | |--54:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=57 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=57 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 54(GETNEXT)
| | |
| | 53:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
-| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=53,55 row-size=377B cardinality=3.97G(filtered from 4.32G) cost=1800076774
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
+| | | runtime filters: RF030[bloom] <- tpcds_partitioned_parquet_snap.customer_6.c_customer_sk, RF031[min_max] <- tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=53,55 row-size=344B cardinality=3.97G cost=1765792939
| | | in pipelines: 51(GETNEXT), 52(OPEN)
| | |
-| | |--52:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | |--52:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=55 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=55 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 52(GETNEXT)
| | |
| | 51:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales]
| | HDFS partitions=1831/1831 files=1831 size=280.96GB
-| | runtime filters: RF029[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk, RF028[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk
+| | runtime filters: RF031[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk, RF030[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk
| | stored statistics:
| | table: rows=4.32G size=280.96GB
| | partitions: 1831/1831 rows=4.32G
@@ -831,43 +831,43 @@ PLAN-ROOT SINK
| | in pipelines: 50(GETNEXT), 45(OPEN)
| |
| 49:HASH JOIN [INNER JOIN]
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
-| | runtime filters: RF024[bloom] <- tpcds_partitioned_parquet_snap.customer_5.c_customer_sk, RF025[min_max] <- tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
-| | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=46,48,50 row-size=538B cardinality=7.93G cost=3501497176
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_1.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_5.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_1.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_5.d_date_sk
+| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=46,48,50 row-size=538B cardinality=7.93G cost=3471570225
| | in pipelines: 45(GETNEXT), 48(OPEN)
| |
-| |--48:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| |--48:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=50 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=50 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 48(GETNEXT)
| |
| 47:HASH JOIN [INNER JOIN]
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_1.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_5.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_1.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_5.d_date_sk
-| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=46,48 row-size=333B cardinality=7.93G(filtered from 8.64G) cost=3599988515
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
+| | runtime filters: RF026[bloom] <- tpcds_partitioned_parquet_snap.customer_5.c_customer_sk, RF027[min_max] <- tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
+| | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=46,48 row-size=300B cardinality=7.93G cost=3501497176
| | in pipelines: 45(GETNEXT), 46(OPEN)
| |
-| |--46:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| |--46:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=48 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=48 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 46(GETNEXT)
| |
| 45:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales]
| HDFS partitions=1824/1824 files=1824 size=389.90GB
-| runtime filters: RF025[min_max] -> tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk, RF024[bloom] -> tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk
+| runtime filters: RF027[min_max] -> tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk, RF026[bloom] -> tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk
| stored statistics:
| table: rows=8.64G size=389.90GB
| partitions: 1824/1824 rows=8.64G
@@ -904,43 +904,43 @@ PLAN-ROOT SINK
| | | in pipelines: 40(GETNEXT), 35(OPEN)
| | |
| | 39:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_0.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_0.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
-| | | runtime filters: RF021[min_max] <- tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=38,40,42 row-size=582B cardinality=1.99G cost=900015958
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_0.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_4.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_0.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_4.d_date_sk
+| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=38,40,42 row-size=582B cardinality=1.99G cost=870089007
| | | in pipelines: 35(GETNEXT), 38(OPEN)
| | |
-| | |--38:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | |--38:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=42 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=42 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 38(GETNEXT)
| | |
| | 37:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_0.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_4.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_0.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_4.d_date_sk
-| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=38,40 row-size=377B cardinality=1.99G(filtered from 2.16G) cost=901304100
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_0.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_0.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
+| | | runtime filters: RF023[min_max] <- tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=38,40 row-size=344B cardinality=1.99G cost=900015958
| | | in pipelines: 35(GETNEXT), 36(OPEN)
| | |
-| | |--36:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | |--36:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=40 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=40 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 36(GETNEXT)
| | |
| | 35:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales]
| | HDFS partitions=1824/1824 files=1824 size=145.75GB
-| | runtime filters: RF021[min_max] -> tpcds_partitioned_parquet_snap.web_sales_0.ws_bill_customer_sk
+| | runtime filters: RF023[min_max] -> tpcds_partitioned_parquet_snap.web_sales_0.ws_bill_customer_sk
| | stored statistics:
| | table: rows=2.16G size=145.75GB
| | partitions: 1824/1824 rows=2.16G
@@ -963,43 +963,43 @@ PLAN-ROOT SINK
| | | in pipelines: 34(GETNEXT), 29(OPEN)
| | |
| | 33:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
-| | | runtime filters: RF016[bloom] <- tpcds_partitioned_parquet_snap.customer_3.c_customer_sk, RF017[min_max] <- tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=30,32,34 row-size=582B cardinality=3.97G cost=1765792939
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_3.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_3.d_date_sk
+| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=30,32,34 row-size=582B cardinality=3.97G cost=1735865988
| | | in pipelines: 29(GETNEXT), 32(OPEN)
| | |
-| | |--32:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | |--32:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=34 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=34 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 32(GETNEXT)
| | |
| | 31:HASH JOIN [INNER JOIN]
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_3.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_3.d_date_sk
-| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=30,32 row-size=377B cardinality=3.97G(filtered from 4.32G) cost=1800076774
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
+| | | runtime filters: RF018[bloom] <- tpcds_partitioned_parquet_snap.customer_3.c_customer_sk, RF019[min_max] <- tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | | tuple-ids=30,32 row-size=344B cardinality=3.97G cost=1765792939
| | | in pipelines: 29(GETNEXT), 30(OPEN)
| | |
-| | |--30:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | |--30:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=32 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=32 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 30(GETNEXT)
| | |
| | 29:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales]
| | HDFS partitions=1831/1831 files=1831 size=280.96GB
-| | runtime filters: RF017[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk, RF016[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk
+| | runtime filters: RF019[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk, RF018[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk
| | stored statistics:
| | table: rows=4.32G size=280.96GB
| | partitions: 1831/1831 rows=4.32G
@@ -1017,43 +1017,43 @@ PLAN-ROOT SINK
| | in pipelines: 28(GETNEXT), 23(OPEN)
| |
| 27:HASH JOIN [INNER JOIN]
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
-| | runtime filters: RF012[bloom] <- tpcds_partitioned_parquet_snap.customer_2.c_customer_sk, RF013[min_max] <- tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
-| | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=23,25,27 row-size=538B cardinality=7.93G cost=3501497176
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_0.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
+| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=23,25,27 row-size=538B cardinality=7.93G cost=3471570225
| | in pipelines: 23(GETNEXT), 26(OPEN)
| |
-| |--26:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| |--26:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=27 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=27 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 26(GETNEXT)
| |
| 25:HASH JOIN [INNER JOIN]
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_0.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
-| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=23,25 row-size=333B cardinality=7.93G(filtered from 8.64G) cost=3599988515
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
+| | runtime filters: RF014[bloom] <- tpcds_partitioned_parquet_snap.customer_2.c_customer_sk, RF015[min_max] <- tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
+| | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=23,25 row-size=300B cardinality=7.93G cost=3501497176
| | in pipelines: 23(GETNEXT), 24(OPEN)
| |
-| |--24:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| |--24:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=25 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=25 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 24(GETNEXT)
| |
| 23:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales]
| HDFS partitions=1824/1824 files=1824 size=389.90GB
-| runtime filters: RF013[min_max] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk, RF012[bloom] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk
+| runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk, RF014[bloom] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk
| stored statistics:
| table: rows=8.64G size=389.90GB
| partitions: 1824/1824 rows=8.64G
@@ -1064,7 +1064,7 @@ PLAN-ROOT SINK
| in pipelines: 23(GETNEXT)
|
20:SELECT
-| predicates: DYEAR = add(CAST(1999 AS INT), CAST(1 AS INT)), SALE_TYPE = 'w'
+| predicates: DYEAR = add(CAST(1999 AS INT), CAST(1 AS INT)), SALE_TYPE = 's'
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=22 row-size=116B cardinality=1.18G cost=23666825216
| in pipelines: 07(GETNEXT), 13(GETNEXT), 19(GETNEXT)
@@ -1083,43 +1083,43 @@ PLAN-ROOT SINK
| | in pipelines: 19(GETNEXT), 14(OPEN)
| |
| 18:HASH JOIN [INNER JOIN]
-| | hash predicates: tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
-| | runtime filters: RF009[min_max] <- tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
-| | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=15,17,19 row-size=582B cardinality=1.99G cost=900015958
+| | hash predicates: tpcds_partitioned_parquet_snap.web_sales.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_1.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_1.d_date_sk
+| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=15,17,19 row-size=582B cardinality=1.99G cost=870089007
| | in pipelines: 14(GETNEXT), 17(OPEN)
| |
-| |--17:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| |--17:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=19 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=19 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 17(GETNEXT)
| |
| 16:HASH JOIN [INNER JOIN]
-| | hash predicates: tpcds_partitioned_parquet_snap.web_sales.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_1.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_1.d_date_sk
-| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=15,17 row-size=377B cardinality=1.99G(filtered from 2.16G) cost=901304100
+| | hash predicates: tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
+| | runtime filters: RF011[min_max] <- tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
+| | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=15,17 row-size=344B cardinality=1.99G cost=900015958
| | in pipelines: 14(GETNEXT), 15(OPEN)
| |
-| |--15:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| |--15:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=17 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=17 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 15(GETNEXT)
| |
| 14:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales]
| HDFS partitions=1824/1824 files=1824 size=145.75GB
-| runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk
+| runtime filters: RF011[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk
| stored statistics:
| table: rows=2.16G size=145.75GB
| partitions: 1824/1824 rows=2.16G
@@ -1142,43 +1142,43 @@ PLAN-ROOT SINK
| | in pipelines: 13(GETNEXT), 08(OPEN)
| |
| 12:HASH JOIN [INNER JOIN]
-| | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
-| | runtime filters: RF004[bloom] <- tpcds_partitioned_parquet_snap.customer_0.c_customer_sk, RF005[min_max] <- tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
-| | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=7,9,11 row-size=582B cardinality=3.97G cost=1765792939
+| | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
+| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=7,9,11 row-size=582B cardinality=3.97G cost=1735865988
| | in pipelines: 08(GETNEXT), 11(OPEN)
| |
-| |--11:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| |--11:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=11 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=11 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 11(GETNEXT)
| |
| 10:HASH JOIN [INNER JOIN]
-| | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
-| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=7,9 row-size=377B cardinality=3.97G(filtered from 4.32G) cost=1800076774
+| | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
+| | runtime filters: RF006[bloom] <- tpcds_partitioned_parquet_snap.customer_0.c_customer_sk, RF007[min_max] <- tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
+| | mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=7,9 row-size=344B cardinality=3.97G cost=1765792939
| | in pipelines: 08(GETNEXT), 09(OPEN)
| |
-| |--09:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| |--09:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=9 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=9 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 09(GETNEXT)
| |
| 08:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales]
| HDFS partitions=1831/1831 files=1831 size=280.96GB
-| runtime filters: RF005[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk, RF004[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk
+| runtime filters: RF007[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk, RF006[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk
| stored statistics:
| table: rows=4.32G size=280.96GB
| partitions: 1831/1831 rows=4.32G
@@ -1196,43 +1196,43 @@ PLAN-ROOT SINK
| in pipelines: 07(GETNEXT), 02(OPEN)
|
06:HASH JOIN [INNER JOIN]
-| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk = tpcds_partitioned_parquet_snap.customer.c_customer_sk
-| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk = tpcds_partitioned_parquet_snap.customer.c_customer_sk
-| runtime filters: RF000[bloom] <- tpcds_partitioned_parquet_snap.customer.c_customer_sk, RF001[min_max] <- tpcds_partitioned_parquet_snap.customer.c_customer_sk
-| mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=0,2,4 row-size=538B cardinality=7.93G cost=3501497176
+| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=0,2,4 row-size=538B cardinality=7.93G cost=3471570225
| in pipelines: 02(GETNEXT), 05(OPEN)
|
-|--05:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
-| HDFS partitions=1/1 files=1 size=1.55GB
+|--05:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| HDFS partitions=1/1 files=1 size=2.17MB
| stored statistics:
-| table: rows=30.00M size=1.55GB
+| table: rows=73.05K size=2.17MB
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=3.10M
-| mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| tuple-ids=4 row-size=204B cardinality=30.00M cost=46823813
+| extrapolated-rows=disabled max-scan-range-rows=73.05K
+| mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| tuple-ids=4 row-size=237B cardinality=73.05K cost=110600
| in pipelines: 05(GETNEXT)
|
04:HASH JOIN [INNER JOIN]
-| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=0,2 row-size=333B cardinality=7.93G(filtered from 8.64G) cost=3599988515
+| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk = tpcds_partitioned_parquet_snap.customer.c_customer_sk
+| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk = tpcds_partitioned_parquet_snap.customer.c_customer_sk
+| runtime filters: RF002[bloom] <- tpcds_partitioned_parquet_snap.customer.c_customer_sk, RF003[min_max] <- tpcds_partitioned_parquet_snap.customer.c_customer_sk
+| mem-estimate=6.46GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=0,2 row-size=300B cardinality=7.93G cost=3501497176
| in pipelines: 02(GETNEXT), 03(OPEN)
|
-|--03:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
-| HDFS partitions=1/1 files=1 size=2.17MB
+|--03:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+| HDFS partitions=1/1 files=1 size=1.55GB
| stored statistics:
-| table: rows=73.05K size=2.17MB
+| table: rows=30.00M size=1.55GB
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=73.05K
-| mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| tuple-ids=2 row-size=237B cardinality=73.05K cost=110600
+| extrapolated-rows=disabled max-scan-range-rows=3.10M
+| mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| tuple-ids=2 row-size=204B cardinality=30.00M cost=46823813
| in pipelines: 03(GETNEXT)
|
02:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales]
HDFS partitions=1824/1824 files=1824 size=389.90GB
- runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk
+ runtime filters: RF003[min_max] -> tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk
stored statistics:
table: rows=8.64G size=389.90GB
partitions: 1824/1824 rows=8.64G
@@ -1291,11 +1291,11 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| |
| F84:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Instance Resources: mem-estimate=4.23GB mem-reservation=34.00MB thread-reservation=1
-| max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 37772016915] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+| max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 49605428499] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
| 129:SELECT
-| | predicates: DYEAR = add(CAST(1999 AS INT), CAST(1 AS INT)), SALE_TYPE = 's'
+| | predicates: DYEAR = CAST(1999 AS INT), SALE_TYPE = 'w', YEAR_TOTAL > CAST(0 AS DECIMAL(3,0))
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=137 row-size=116B cardinality=1.18G cost=23666825216
+| | tuple-ids=137 row-size=116B cardinality=1.18G cost=35500236800
| | in pipelines: 200(GETNEXT), 204(GETNEXT), 208(GETNEXT)
| |
| 109:UNION
@@ -1318,7 +1318,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | F80:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=2.19GB mem-reservation=34.26MB thread-reservation=1
-| | max-parallelism=1824 segment-costs=[17858335975, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1824 segment-costs=[17827120882, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 128:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.web_sales_4.ws_ext_list_price, tpcds_partitioned_parquet_snap.web_sales_4.ws_ext_wholesale_cost), tpcds_partitioned_parquet_snap.web_sales_4.ws_ext_discount_amt), tpcds_partitioned_parquet_snap.web_sales_4.ws_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_16.c_customer_id, tpcds_partitioned_parquet_snap.customer_16.c_first_name, tpcds_partitioned_parquet_snap.customer_16.c_last_name, tpcds_partitioned_parquet_snap.customer_16.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_16.c_birth_country, tpcds_partitioned_parquet_snap.customer_16.c_login, tpcds_partitioned_parquet_snap.customer_16.c_email_address, tpcds_partitioned_parquet_snap.date_dim_16.d_year
@@ -1328,76 +1328,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 127:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=05
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_4.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_4.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_4.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_16.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_4.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_16.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=130,132,134 row-size=582B cardinality=1.99G cost=870015958
| | | in pipelines: 123(GETNEXT), 126(OPEN)
| | |
| | |--F91:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=05 plan-id=06 cohort-id=04
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
-| | | | runtime filters: RF069[min_max] <- tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_16.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 206:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=134 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=134 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 126(GETNEXT)
| | | |
-| | | F82:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 126:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F82:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 126:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=134 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=134 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 126(GETNEXT)
| | |
| | 125:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=06
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_4.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_16.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_4.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_16.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_4.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_4.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=130,132 row-size=377B cardinality=1.99G(filtered from 2.16G) cost=901231051
+| | | tuple-ids=130,132 row-size=344B cardinality=1.99G cost=870015958
| | | in pipelines: 123(GETNEXT), 124(OPEN)
| | |
| | |--F92:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=06 plan-id=07 cohort-id=04
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_16.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
+| | | | runtime filters: RF071[min_max] <- tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 205:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=132 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=132 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 124(GETNEXT)
| | | |
-| | | F81:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 124:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F81:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 124:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=132 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=132 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 124(GETNEXT)
| | |
| | 123:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
| | HDFS partitions=1824/1824 files=1824 size=145.75GB
-| | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.web_sales_4.ws_bill_customer_sk
+| | runtime filters: RF071[min_max] -> tpcds_partitioned_parquet_snap.web_sales_4.ws_bill_customer_sk
| | stored statistics:
| | table: rows=2.16G size=145.75GB
| | partitions: 1824/1824 rows=2.16G
@@ -1426,7 +1426,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | F75:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=4.26GB mem-reservation=35.00MB thread-reservation=1
-| | max-parallelism=1831 segment-costs=[35653096274, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1831 segment-costs=[35588885488, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 122:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.catalog_sales_4.cs_ext_list_price, tpcds_partitioned_parquet_snap.catalog_sales_4.cs_ext_wholesale_cost), tpcds_partitioned_parquet_snap.catalog_sales_4.cs_ext_discount_amt), tpcds_partitioned_parquet_snap.catalog_sales_4.cs_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_15.c_customer_id, tpcds_partitioned_parquet_snap.customer_15.c_first_name, tpcds_partitioned_parquet_snap.customer_15.c_last_name, tpcds_partitioned_parquet_snap.customer_15.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_15.c_birth_country, tpcds_partitioned_parquet_snap.customer_15.c_login, tpcds_partitioned_parquet_snap.customer_15.c_email_address, tpcds_partitioned_parquet_snap.date_dim_15.d_year
@@ -1436,76 +1436,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 121:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=03
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_15.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_15.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=122,124,126 row-size=582B cardinality=3.97G cost=1735792939
| | | in pipelines: 117(GETNEXT), 120(OPEN)
| | |
| | |--F89:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=03 plan-id=04 cohort-id=03
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
-| | | | runtime filters: RF065[min_max] <- tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_15.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 202:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=126 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=126 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 120(GETNEXT)
| | | |
-| | | F77:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 120:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F77:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 120:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=126 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=126 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 120(GETNEXT)
| | |
| | 119:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=04
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_15.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_15.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=122,124 row-size=377B cardinality=3.97G(filtered from 4.32G) cost=1800003725
+| | | tuple-ids=122,124 row-size=344B cardinality=3.97G cost=1735792939
| | | in pipelines: 117(GETNEXT), 118(OPEN)
| | |
| | |--F90:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=04 plan-id=05 cohort-id=03
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_15.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
+| | | | runtime filters: RF067[min_max] <- tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 201:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=124 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=124 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 118(GETNEXT)
| | | |
-| | | F76:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 118:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F76:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 118:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=124 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=124 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 118(GETNEXT)
| | |
| | 117:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
| | HDFS partitions=1831/1831 files=1831 size=280.96GB
-| | runtime filters: RF065[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_4.cs_bill_customer_sk
+| | runtime filters: RF067[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_4.cs_bill_customer_sk
| | stored statistics:
| | table: rows=4.32G size=280.96GB
| | partitions: 1831/1831 rows=4.32G
@@ -1530,7 +1530,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| F71:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
| Per-Instance Resources: mem-estimate=4.26GB mem-reservation=42.00MB thread-reservation=1
-| max-parallelism=1824 segment-costs=[65629013155, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| max-parallelism=1824 segment-costs=[65500594865, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| 116:AGGREGATE [STREAMING]
| | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.store_sales_4.ss_ext_list_price, tpcds_partitioned_parquet_snap.store_sales_4.ss_ext_wholesale_cost), tpcds_partitioned_parquet_snap.store_sales_4.ss_ext_discount_amt), tpcds_partitioned_parquet_snap.store_sales_4.ss_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | group by: tpcds_partitioned_parquet_snap.customer_14.c_customer_id, tpcds_partitioned_parquet_snap.customer_14.c_first_name, tpcds_partitioned_parquet_snap.customer_14.c_last_name, tpcds_partitioned_parquet_snap.customer_14.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_14.c_birth_country, tpcds_partitioned_parquet_snap.customer_14.c_login, tpcds_partitioned_parquet_snap.customer_14.c_email_address, tpcds_partitioned_parquet_snap.date_dim_14.d_year
@@ -1540,76 +1540,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| |
| 115:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=01
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_14.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_4.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_14.d_date_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=115,117,119 row-size=538B cardinality=7.93G cost=3471497176
| | in pipelines: 111(GETNEXT), 114(OPEN)
| |
| |--F87:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | | max-parallelism=10 segment-costs=[69869990]
+| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[170129]
| | JOIN BUILD
| | | join-table-id=01 plan-id=02 cohort-id=02
-| | | build expressions: tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
-| | | runtime filters: RF060[bloom] <- tpcds_partitioned_parquet_snap.customer_14.c_customer_sk, RF061[min_max] <- tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_14.d_date_sk
+| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | |
| | 198:EXCHANGE [BROADCAST]
-| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=119 row-size=204B cardinality=30.00M cost=39869990
+| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=119 row-size=237B cardinality=73.05K cost=97080
| | | in pipelines: 114(GETNEXT)
| | |
-| | F73:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[64027278]
-| | 114:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| | F73:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | max-parallelism=1 segment-costs=[158950]
+| | 114:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=119 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=119 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 114(GETNEXT)
| |
| 113:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=02
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_14.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_4.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_14.d_date_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=115,117 row-size=333B cardinality=7.93G(filtered from 8.64G) cost=3599915466
+| | tuple-ids=115,117 row-size=300B cardinality=7.93G cost=3471497176
| | in pipelines: 111(GETNEXT), 112(OPEN)
| |
| |--F88:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[170129]
+| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | | max-parallelism=10 segment-costs=[69869990]
| | JOIN BUILD
| | | join-table-id=02 plan-id=03 cohort-id=02
-| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_14.d_date_sk
-| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | build expressions: tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
+| | | runtime filters: RF062[bloom] <- tpcds_partitioned_parquet_snap.customer_14.c_customer_sk, RF063[min_max] <- tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | |
| | 197:EXCHANGE [BROADCAST]
-| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=117 row-size=237B cardinality=73.05K cost=97080
+| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=117 row-size=204B cardinality=30.00M cost=39869990
| | | in pipelines: 112(GETNEXT)
| | |
-| | F72:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | max-parallelism=1 segment-costs=[158950]
-| | 112:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| | F72:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[64027278]
+| | 112:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=117 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=117 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 112(GETNEXT)
| |
| 111:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
| HDFS partitions=1824/1824 files=1824 size=389.90GB
-| runtime filters: RF061[min_max] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk, RF060[bloom] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk
+| runtime filters: RF063[min_max] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk, RF062[bloom] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk
| stored statistics:
| table: rows=8.64G size=389.90GB
| partitions: 1824/1824 rows=8.64G
@@ -1623,7 +1623,6 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| hash-table-id=07
| hash predicates: CUSTOMER_ID = CUSTOMER_ID
| fk/pk conjuncts: assumed fk/pk
-| other join predicates: CASE WHEN YEAR_TOTAL > CAST(0 AS DECIMAL(3,0)) THEN divide(YEAR_TOTAL, YEAR_TOTAL) ELSE NULL END > CASE WHEN YEAR_TOTAL > CAST(0 AS DECIMAL(3,0)) THEN divide(YEAR_TOTAL, YEAR_TOTAL) ELSE NULL END
| mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=22,45,68,91,114 row-size=580B cardinality=1.18G cost=517948489
| in pipelines: 135(GETNEXT), 139(GETNEXT), 143(GETNEXT), 187(OPEN), 191(OPEN), 195(OPEN)
@@ -1643,11 +1642,11 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| |
| F70:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Instance Resources: mem-estimate=4.23GB mem-reservation=34.00MB thread-reservation=1
-| max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 49605428499] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+| max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 37772016915] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
| 107:SELECT
-| | predicates: DYEAR = CAST(1999 AS INT), SALE_TYPE = 'c', YEAR_TOTAL > CAST(0 AS DECIMAL(3,0))
+| | predicates: DYEAR = add(CAST(1999 AS INT), CAST(1 AS INT)), SALE_TYPE = 'w'
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=114 row-size=116B cardinality=1.18G cost=35500236800
+| | tuple-ids=114 row-size=116B cardinality=1.18G cost=23666825216
| | in pipelines: 187(GETNEXT), 191(GETNEXT), 195(GETNEXT)
| |
| 87:UNION
@@ -1670,7 +1669,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | F66:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=2.19GB mem-reservation=34.26MB thread-reservation=1
-| | max-parallelism=1824 segment-costs=[17858335975, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1824 segment-costs=[17827120882, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 106:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.web_sales_3.ws_ext_list_price, tpcds_partitioned_parquet_snap.web_sales_3.ws_ext_wholesale_cost), tpcds_partitioned_parquet_snap.web_sales_3.ws_ext_discount_amt), tpcds_partitioned_parquet_snap.web_sales_3.ws_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_13.c_customer_id, tpcds_partitioned_parquet_snap.customer_13.c_first_name, tpcds_partitioned_parquet_snap.customer_13.c_last_name, tpcds_partitioned_parquet_snap.customer_13.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_13.c_birth_country, tpcds_partitioned_parquet_snap.customer_13.c_login, tpcds_partitioned_parquet_snap.customer_13.c_email_address, tpcds_partitioned_parquet_snap.date_dim_13.d_year
@@ -1680,76 +1679,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 105:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=12
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_3.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_3.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_3.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_3.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=107,109,111 row-size=582B cardinality=1.99G cost=870015958
| | | in pipelines: 101(GETNEXT), 104(OPEN)
| | |
| | |--F98:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=12 plan-id=13 cohort-id=07
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
-| | | | runtime filters: RF057[min_max] <- tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 193:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=111 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=111 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 104(GETNEXT)
| | | |
-| | | F68:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 104:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F68:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 104:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=111 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=111 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 104(GETNEXT)
| | |
| | 103:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=13
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_3.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_3.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_3.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_3.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=107,109 row-size=377B cardinality=1.99G(filtered from 2.16G) cost=901231051
+| | | tuple-ids=107,109 row-size=344B cardinality=1.99G cost=870015958
| | | in pipelines: 101(GETNEXT), 102(OPEN)
| | |
| | |--F99:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=13 plan-id=14 cohort-id=07
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
+| | | | runtime filters: RF059[min_max] <- tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 192:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=109 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=109 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 102(GETNEXT)
| | | |
-| | | F67:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 102:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F67:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 102:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=109 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=109 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 102(GETNEXT)
| | |
| | 101:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
| | HDFS partitions=1824/1824 files=1824 size=145.75GB
-| | runtime filters: RF057[min_max] -> tpcds_partitioned_parquet_snap.web_sales_3.ws_bill_customer_sk
+| | runtime filters: RF059[min_max] -> tpcds_partitioned_parquet_snap.web_sales_3.ws_bill_customer_sk
| | stored statistics:
| | table: rows=2.16G size=145.75GB
| | partitions: 1824/1824 rows=2.16G
@@ -1778,7 +1777,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | F61:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=4.26GB mem-reservation=35.00MB thread-reservation=1
-| | max-parallelism=1831 segment-costs=[35653096274, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1831 segment-costs=[35588885488, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 100:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.catalog_sales_3.cs_ext_list_price, tpcds_partitioned_parquet_snap.catalog_sales_3.cs_ext_wholesale_cost), tpcds_partitioned_parquet_snap.catalog_sales_3.cs_ext_discount_amt), tpcds_partitioned_parquet_snap.catalog_sales_3.cs_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_12.c_customer_id, tpcds_partitioned_parquet_snap.customer_12.c_first_name, tpcds_partitioned_parquet_snap.customer_12.c_last_name, tpcds_partitioned_parquet_snap.customer_12.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_12.c_birth_country, tpcds_partitioned_parquet_snap.customer_12.c_login, tpcds_partitioned_parquet_snap.customer_12.c_email_address, tpcds_partitioned_parquet_snap.date_dim_12.d_year
@@ -1788,76 +1787,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 99:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=10
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_12.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_12.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=99,101,103 row-size=582B cardinality=3.97G cost=1735792939
| | | in pipelines: 95(GETNEXT), 98(OPEN)
| | |
| | |--F96:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=10 plan-id=11 cohort-id=06
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
-| | | | runtime filters: RF053[min_max] <- tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_12.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 189:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=103 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=103 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 98(GETNEXT)
| | | |
-| | | F63:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 98:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F63:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 98:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=103 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=103 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 98(GETNEXT)
| | |
| | 97:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=11
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_12.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_12.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=99,101 row-size=377B cardinality=3.97G(filtered from 4.32G) cost=1800003725
+| | | tuple-ids=99,101 row-size=344B cardinality=3.97G cost=1735792939
| | | in pipelines: 95(GETNEXT), 96(OPEN)
| | |
| | |--F97:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=11 plan-id=12 cohort-id=06
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_12.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
+| | | | runtime filters: RF055[min_max] <- tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 188:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=101 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=101 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 96(GETNEXT)
| | | |
-| | | F62:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 96:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F62:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 96:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=101 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=101 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 96(GETNEXT)
| | |
| | 95:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
| | HDFS partitions=1831/1831 files=1831 size=280.96GB
-| | runtime filters: RF053[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_3.cs_bill_customer_sk
+| | runtime filters: RF055[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_3.cs_bill_customer_sk
| | stored statistics:
| | table: rows=4.32G size=280.96GB
| | partitions: 1831/1831 rows=4.32G
@@ -1882,7 +1881,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| F57:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
| Per-Instance Resources: mem-estimate=4.26GB mem-reservation=42.00MB thread-reservation=1
-| max-parallelism=1824 segment-costs=[65629013155, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| max-parallelism=1824 segment-costs=[65500594865, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| 94:AGGREGATE [STREAMING]
| | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.store_sales_3.ss_ext_list_price, tpcds_partitioned_parquet_snap.store_sales_3.ss_ext_wholesale_cost), tpcds_partitioned_parquet_snap.store_sales_3.ss_ext_discount_amt), tpcds_partitioned_parquet_snap.store_sales_3.ss_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | group by: tpcds_partitioned_parquet_snap.customer_11.c_customer_id, tpcds_partitioned_parquet_snap.customer_11.c_first_name, tpcds_partitioned_parquet_snap.customer_11.c_last_name, tpcds_partitioned_parquet_snap.customer_11.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_11.c_birth_country, tpcds_partitioned_parquet_snap.customer_11.c_login, tpcds_partitioned_parquet_snap.customer_11.c_email_address, tpcds_partitioned_parquet_snap.date_dim_11.d_year
@@ -1892,76 +1891,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| |
| 93:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=08
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_11.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_3.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_11.d_date_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=92,94,96 row-size=538B cardinality=7.93G cost=3471497176
| | in pipelines: 89(GETNEXT), 92(OPEN)
| |
| |--F94:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | | max-parallelism=10 segment-costs=[69869990]
+| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[170129]
| | JOIN BUILD
| | | join-table-id=08 plan-id=09 cohort-id=05
-| | | build expressions: tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
-| | | runtime filters: RF048[bloom] <- tpcds_partitioned_parquet_snap.customer_11.c_customer_sk, RF049[min_max] <- tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_11.d_date_sk
+| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | |
| | 185:EXCHANGE [BROADCAST]
-| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=96 row-size=204B cardinality=30.00M cost=39869990
+| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=96 row-size=237B cardinality=73.05K cost=97080
| | | in pipelines: 92(GETNEXT)
| | |
-| | F59:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[64027278]
-| | 92:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| | F59:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | max-parallelism=1 segment-costs=[158950]
+| | 92:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=96 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=96 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 92(GETNEXT)
| |
| 91:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=09
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_11.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_3.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_11.d_date_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=92,94 row-size=333B cardinality=7.93G(filtered from 8.64G) cost=3599915466
+| | tuple-ids=92,94 row-size=300B cardinality=7.93G cost=3471497176
| | in pipelines: 89(GETNEXT), 90(OPEN)
| |
| |--F95:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[170129]
+| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | | max-parallelism=10 segment-costs=[69869990]
| | JOIN BUILD
| | | join-table-id=09 plan-id=10 cohort-id=05
-| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_11.d_date_sk
-| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | build expressions: tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
+| | | runtime filters: RF050[bloom] <- tpcds_partitioned_parquet_snap.customer_11.c_customer_sk, RF051[min_max] <- tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | |
| | 184:EXCHANGE [BROADCAST]
-| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=94 row-size=237B cardinality=73.05K cost=97080
+| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=94 row-size=204B cardinality=30.00M cost=39869990
| | | in pipelines: 90(GETNEXT)
| | |
-| | F58:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | max-parallelism=1 segment-costs=[158950]
-| | 90:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| | F58:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[64027278]
+| | 90:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=94 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=94 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 90(GETNEXT)
| |
| 89:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
| HDFS partitions=1824/1824 files=1824 size=389.90GB
-| runtime filters: RF049[min_max] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk, RF048[bloom] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk
+| runtime filters: RF051[min_max] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk, RF050[bloom] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk
| stored statistics:
| table: rows=8.64G size=389.90GB
| partitions: 1824/1824 rows=8.64G
@@ -1975,6 +1974,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| hash-table-id=14
| hash predicates: CUSTOMER_ID = CUSTOMER_ID
| fk/pk conjuncts: assumed fk/pk
+| other join predicates: CASE WHEN YEAR_TOTAL > CAST(0 AS DECIMAL(3,0)) THEN divide(YEAR_TOTAL, YEAR_TOTAL) ELSE NULL END > CASE WHEN YEAR_TOTAL > CAST(0 AS DECIMAL(3,0)) THEN divide(YEAR_TOTAL, YEAR_TOTAL) ELSE NULL END
| mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=22,45,68,91 row-size=464B cardinality=1.18G cost=517948489
| in pipelines: 135(GETNEXT), 139(GETNEXT), 143(GETNEXT), 174(OPEN), 178(OPEN), 182(OPEN)
@@ -1994,11 +1994,11 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| |
| F56:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Instance Resources: mem-estimate=4.23GB mem-reservation=34.00MB thread-reservation=1
-| max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 37772016915] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+| max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 49605428499] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
| 85:SELECT
-| | predicates: DYEAR = add(CAST(1999 AS INT), CAST(1 AS INT)), SALE_TYPE = 'c'
+| | predicates: DYEAR = CAST(1999 AS INT), SALE_TYPE = 'c', YEAR_TOTAL > CAST(0 AS DECIMAL(3,0))
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=91 row-size=116B cardinality=1.18G cost=23666825216
+| | tuple-ids=91 row-size=116B cardinality=1.18G cost=35500236800
| | in pipelines: 174(GETNEXT), 178(GETNEXT), 182(GETNEXT)
| |
| 65:UNION
@@ -2021,7 +2021,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | F52:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=2.19GB mem-reservation=34.26MB thread-reservation=1
-| | max-parallelism=1824 segment-costs=[17858335975, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1824 segment-costs=[17827120882, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 84:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.web_sales_2.ws_ext_list_price, tpcds_partitioned_parquet_snap.web_sales_2.ws_ext_wholesale_cost), tpcds_partitioned_parquet_snap.web_sales_2.ws_ext_discount_amt), tpcds_partitioned_parquet_snap.web_sales_2.ws_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_10.c_customer_id, tpcds_partitioned_parquet_snap.customer_10.c_first_name, tpcds_partitioned_parquet_snap.customer_10.c_last_name, tpcds_partitioned_parquet_snap.customer_10.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_10.c_birth_country, tpcds_partitioned_parquet_snap.customer_10.c_login, tpcds_partitioned_parquet_snap.customer_10.c_email_address, tpcds_partitioned_parquet_snap.date_dim_10.d_year
@@ -2031,76 +2031,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 83:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=19
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_2.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_2.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_2.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_2.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=84,86,88 row-size=582B cardinality=1.99G cost=870015958
| | | in pipelines: 79(GETNEXT), 82(OPEN)
| | |
| | |--F105:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=19 plan-id=20 cohort-id=10
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
-| | | | runtime filters: RF045[min_max] <- tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 180:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=88 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=88 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 82(GETNEXT)
| | | |
-| | | F54:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 82:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F54:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 82:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=88 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=88 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 82(GETNEXT)
| | |
| | 81:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=20
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_2.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_2.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_2.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_2.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=84,86 row-size=377B cardinality=1.99G(filtered from 2.16G) cost=901231051
+| | | tuple-ids=84,86 row-size=344B cardinality=1.99G cost=870015958
| | | in pipelines: 79(GETNEXT), 80(OPEN)
| | |
| | |--F106:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=20 plan-id=21 cohort-id=10
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
+| | | | runtime filters: RF047[min_max] <- tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 179:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=86 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=86 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 80(GETNEXT)
| | | |
-| | | F53:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 80:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F53:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 80:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=86 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=86 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 80(GETNEXT)
| | |
| | 79:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
| | HDFS partitions=1824/1824 files=1824 size=145.75GB
-| | runtime filters: RF045[min_max] -> tpcds_partitioned_parquet_snap.web_sales_2.ws_bill_customer_sk
+| | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.web_sales_2.ws_bill_customer_sk
| | stored statistics:
| | table: rows=2.16G size=145.75GB
| | partitions: 1824/1824 rows=2.16G
@@ -2130,7 +2130,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | F47:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
| | Per-Instance Resources: mem-estimate=4.26GB mem-reservation=35.00MB thread-reservation=1
-| | max-parallelism=1831 segment-costs=[35653096274, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1831 segment-costs=[35588885488, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 78:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.catalog_sales_2.cs_ext_list_price, tpcds_partitioned_parquet_snap.catalog_sales_2.cs_ext_wholesale_cost), tpcds_partitioned_parquet_snap.catalog_sales_2.cs_ext_discount_amt), tpcds_partitioned_parquet_snap.catalog_sales_2.cs_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_9.c_customer_id, tpcds_partitioned_parquet_snap.customer_9.c_first_name, tpcds_partitioned_parquet_snap.customer_9.c_last_name, tpcds_partitioned_parquet_snap.customer_9.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_9.c_birth_country, tpcds_partitioned_parquet_snap.customer_9.c_login, tpcds_partitioned_parquet_snap.customer_9.c_email_address, tpcds_partitioned_parquet_snap.date_dim_9.d_year
@@ -2140,76 +2140,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 77:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=17
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_9.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_9.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=76,78,80 row-size=582B cardinality=3.97G cost=1735792939
| | | in pipelines: 73(GETNEXT), 76(OPEN)
| | |
| | |--F103:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=17 plan-id=18 cohort-id=09
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
-| | | | runtime filters: RF040[bloom] <- tpcds_partitioned_parquet_snap.customer_9.c_customer_sk, RF041[min_max] <- tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_9.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 176:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=80 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=80 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 76(GETNEXT)
| | | |
-| | | F49:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 76:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F49:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 76:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=80 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=80 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 76(GETNEXT)
| | |
| | 75:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=18
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_9.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_9.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=76,78 row-size=377B cardinality=3.97G(filtered from 4.32G) cost=1800003725
+| | | tuple-ids=76,78 row-size=344B cardinality=3.97G cost=1735792939
| | | in pipelines: 73(GETNEXT), 74(OPEN)
| | |
| | |--F104:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=18 plan-id=19 cohort-id=09
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_9.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
+| | | | runtime filters: RF042[bloom] <- tpcds_partitioned_parquet_snap.customer_9.c_customer_sk, RF043[min_max] <- tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 175:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=78 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=78 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 74(GETNEXT)
| | | |
-| | | F48:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 74:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F48:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 74:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=78 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=78 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 74(GETNEXT)
| | |
| | 73:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
| | HDFS partitions=1831/1831 files=1831 size=280.96GB
-| | runtime filters: RF041[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk, RF040[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk
+| | runtime filters: RF043[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk, RF042[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk
| | stored statistics:
| | table: rows=4.32G size=280.96GB
| | partitions: 1831/1831 rows=4.32G
@@ -2234,7 +2234,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| F43:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
| Per-Instance Resources: mem-estimate=4.26GB mem-reservation=42.00MB thread-reservation=1
-| max-parallelism=1824 segment-costs=[65629013155, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| max-parallelism=1824 segment-costs=[65500594865, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| 72:AGGREGATE [STREAMING]
| | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.store_sales_2.ss_ext_list_price, tpcds_partitioned_parquet_snap.store_sales_2.ss_ext_wholesale_cost), tpcds_partitioned_parquet_snap.store_sales_2.ss_ext_discount_amt), tpcds_partitioned_parquet_snap.store_sales_2.ss_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | group by: tpcds_partitioned_parquet_snap.customer_8.c_customer_id, tpcds_partitioned_parquet_snap.customer_8.c_first_name, tpcds_partitioned_parquet_snap.customer_8.c_last_name, tpcds_partitioned_parquet_snap.customer_8.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_8.c_birth_country, tpcds_partitioned_parquet_snap.customer_8.c_login, tpcds_partitioned_parquet_snap.customer_8.c_email_address, tpcds_partitioned_parquet_snap.date_dim_8.d_year
@@ -2244,76 +2244,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| |
| 71:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=15
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_8.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_2.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_8.d_date_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=69,71,73 row-size=538B cardinality=7.93G cost=3471497176
| | in pipelines: 67(GETNEXT), 70(OPEN)
| |
| |--F101:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | | max-parallelism=10 segment-costs=[69869990]
+| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[170129]
| | JOIN BUILD
| | | join-table-id=15 plan-id=16 cohort-id=08
-| | | build expressions: tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
-| | | runtime filters: RF036[bloom] <- tpcds_partitioned_parquet_snap.customer_8.c_customer_sk, RF037[min_max] <- tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_8.d_date_sk
+| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | |
| | 172:EXCHANGE [BROADCAST]
-| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=73 row-size=204B cardinality=30.00M cost=39869990
+| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=73 row-size=237B cardinality=73.05K cost=97080
| | | in pipelines: 70(GETNEXT)
| | |
-| | F45:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[64027278]
-| | 70:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| | F45:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | max-parallelism=1 segment-costs=[158950]
+| | 70:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=73 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=73 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 70(GETNEXT)
| |
| 69:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=16
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_8.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_2.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_8.d_date_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=69,71 row-size=333B cardinality=7.93G(filtered from 8.64G) cost=3599915466
+| | tuple-ids=69,71 row-size=300B cardinality=7.93G cost=3471497176
| | in pipelines: 67(GETNEXT), 68(OPEN)
| |
| |--F102:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[170129]
+| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | | max-parallelism=10 segment-costs=[69869990]
| | JOIN BUILD
| | | join-table-id=16 plan-id=17 cohort-id=08
-| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_8.d_date_sk
-| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | build expressions: tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
+| | | runtime filters: RF038[bloom] <- tpcds_partitioned_parquet_snap.customer_8.c_customer_sk, RF039[min_max] <- tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | |
| | 171:EXCHANGE [BROADCAST]
-| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=71 row-size=237B cardinality=73.05K cost=97080
+| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=71 row-size=204B cardinality=30.00M cost=39869990
| | | in pipelines: 68(GETNEXT)
| | |
-| | F44:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | max-parallelism=1 segment-costs=[158950]
-| | 68:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| | F44:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[64027278]
+| | 68:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=71 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=71 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 68(GETNEXT)
| |
| 67:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
| HDFS partitions=1824/1824 files=1824 size=389.90GB
-| runtime filters: RF037[min_max] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk, RF036[bloom] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk
+| runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk, RF038[bloom] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk
| stored statistics:
| table: rows=8.64G size=389.90GB
| partitions: 1824/1824 rows=8.64G
@@ -2346,11 +2346,11 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| |
| F42:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Instance Resources: mem-estimate=4.23GB mem-reservation=34.00MB thread-reservation=1
-| max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 49605428499] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+| max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 37772016915] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
| 63:SELECT
-| | predicates: DYEAR = CAST(1999 AS INT), SALE_TYPE = 'w', YEAR_TOTAL > CAST(0 AS DECIMAL(3,0))
+| | predicates: DYEAR = add(CAST(1999 AS INT), CAST(1 AS INT)), SALE_TYPE = 'c'
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=68 row-size=116B cardinality=1.18G cost=35500236800
+| | tuple-ids=68 row-size=116B cardinality=1.18G cost=23666825216
| | in pipelines: 161(GETNEXT), 165(GETNEXT), 169(GETNEXT)
| |
| 43:UNION
@@ -2373,7 +2373,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | F38:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=2.19GB mem-reservation=34.26MB thread-reservation=1
-| | max-parallelism=1824 segment-costs=[17858335975, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1824 segment-costs=[17827120882, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 62:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.web_sales_1.ws_ext_list_price, tpcds_partitioned_parquet_snap.web_sales_1.ws_ext_wholesale_cost), tpcds_partitioned_parquet_snap.web_sales_1.ws_ext_discount_amt), tpcds_partitioned_parquet_snap.web_sales_1.ws_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_7.c_customer_id, tpcds_partitioned_parquet_snap.customer_7.c_first_name, tpcds_partitioned_parquet_snap.customer_7.c_last_name, tpcds_partitioned_parquet_snap.customer_7.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_7.c_birth_country, tpcds_partitioned_parquet_snap.customer_7.c_login, tpcds_partitioned_parquet_snap.customer_7.c_email_address, tpcds_partitioned_parquet_snap.date_dim_7.d_year
@@ -2383,76 +2383,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 61:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=26
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_1.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_1.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_1.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_7.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_1.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_7.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=61,63,65 row-size=582B cardinality=1.99G cost=870015958
| | | in pipelines: 57(GETNEXT), 60(OPEN)
| | |
| | |--F112:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=26 plan-id=27 cohort-id=13
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
-| | | | runtime filters: RF033[min_max] <- tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_7.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 167:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=65 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=65 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 60(GETNEXT)
| | | |
-| | | F40:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 60:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F40:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 60:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=65 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=65 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 60(GETNEXT)
| | |
| | 59:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=27
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_1.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_7.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_1.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_7.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_1.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_1.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=61,63 row-size=377B cardinality=1.99G(filtered from 2.16G) cost=901231051
+| | | tuple-ids=61,63 row-size=344B cardinality=1.99G cost=870015958
| | | in pipelines: 57(GETNEXT), 58(OPEN)
| | |
| | |--F113:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=27 plan-id=28 cohort-id=13
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_7.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
+| | | | runtime filters: RF035[min_max] <- tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 166:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=63 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=63 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 58(GETNEXT)
| | | |
-| | | F39:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 58:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F39:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 58:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=63 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=63 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 58(GETNEXT)
| | |
| | 57:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
| | HDFS partitions=1824/1824 files=1824 size=145.75GB
-| | runtime filters: RF033[min_max] -> tpcds_partitioned_parquet_snap.web_sales_1.ws_bill_customer_sk
+| | runtime filters: RF035[min_max] -> tpcds_partitioned_parquet_snap.web_sales_1.ws_bill_customer_sk
| | stored statistics:
| | table: rows=2.16G size=145.75GB
| | partitions: 1824/1824 rows=2.16G
@@ -2482,7 +2482,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | F33:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
| | Per-Instance Resources: mem-estimate=4.26GB mem-reservation=35.00MB thread-reservation=1
-| | max-parallelism=1831 segment-costs=[35653096274, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1831 segment-costs=[35588885488, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 56:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.catalog_sales_1.cs_ext_list_price, tpcds_partitioned_parquet_snap.catalog_sales_1.cs_ext_wholesale_cost), tpcds_partitioned_parquet_snap.catalog_sales_1.cs_ext_discount_amt), tpcds_partitioned_parquet_snap.catalog_sales_1.cs_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_6.c_customer_id, tpcds_partitioned_parquet_snap.customer_6.c_first_name, tpcds_partitioned_parquet_snap.customer_6.c_last_name, tpcds_partitioned_parquet_snap.customer_6.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_6.c_birth_country, tpcds_partitioned_parquet_snap.customer_6.c_login, tpcds_partitioned_parquet_snap.customer_6.c_email_address, tpcds_partitioned_parquet_snap.date_dim_6.d_year
@@ -2492,76 +2492,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 55:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=24
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=53,55,57 row-size=582B cardinality=3.97G cost=1735792939
| | | in pipelines: 51(GETNEXT), 54(OPEN)
| | |
| | |--F110:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=24 plan-id=25 cohort-id=12
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
-| | | | runtime filters: RF028[bloom] <- tpcds_partitioned_parquet_snap.customer_6.c_customer_sk, RF029[min_max] <- tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 163:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=57 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=57 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 54(GETNEXT)
| | | |
-| | | F35:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 54:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F35:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 54:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=57 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=57 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 54(GETNEXT)
| | |
| | 53:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=25
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=53,55 row-size=377B cardinality=3.97G(filtered from 4.32G) cost=1800003725
+| | | tuple-ids=53,55 row-size=344B cardinality=3.97G cost=1735792939
| | | in pipelines: 51(GETNEXT), 52(OPEN)
| | |
| | |--F111:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=25 plan-id=26 cohort-id=12
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
+| | | | runtime filters: RF030[bloom] <- tpcds_partitioned_parquet_snap.customer_6.c_customer_sk, RF031[min_max] <- tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 162:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=55 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=55 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 52(GETNEXT)
| | | |
-| | | F34:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 52:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F34:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 52:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=55 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=55 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 52(GETNEXT)
| | |
| | 51:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
| | HDFS partitions=1831/1831 files=1831 size=280.96GB
-| | runtime filters: RF029[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk, RF028[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk
+| | runtime filters: RF031[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk, RF030[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk
| | stored statistics:
| | table: rows=4.32G size=280.96GB
| | partitions: 1831/1831 rows=4.32G
@@ -2586,7 +2586,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| F29:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
| Per-Instance Resources: mem-estimate=4.26GB mem-reservation=42.00MB thread-reservation=1
-| max-parallelism=1824 segment-costs=[65629013155, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| max-parallelism=1824 segment-costs=[65500594865, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| 50:AGGREGATE [STREAMING]
| | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.store_sales_1.ss_ext_list_price, tpcds_partitioned_parquet_snap.store_sales_1.ss_ext_wholesale_cost), tpcds_partitioned_parquet_snap.store_sales_1.ss_ext_discount_amt), tpcds_partitioned_parquet_snap.store_sales_1.ss_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | group by: tpcds_partitioned_parquet_snap.customer_5.c_customer_id, tpcds_partitioned_parquet_snap.customer_5.c_first_name, tpcds_partitioned_parquet_snap.customer_5.c_last_name, tpcds_partitioned_parquet_snap.customer_5.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_5.c_birth_country, tpcds_partitioned_parquet_snap.customer_5.c_login, tpcds_partitioned_parquet_snap.customer_5.c_email_address, tpcds_partitioned_parquet_snap.date_dim_5.d_year
@@ -2596,76 +2596,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| |
| 49:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=22
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_1.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_5.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_1.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_5.d_date_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=46,48,50 row-size=538B cardinality=7.93G cost=3471497176
| | in pipelines: 45(GETNEXT), 48(OPEN)
| |
| |--F108:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | | max-parallelism=10 segment-costs=[69869990]
+| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[170129]
| | JOIN BUILD
| | | join-table-id=22 plan-id=23 cohort-id=11
-| | | build expressions: tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
-| | | runtime filters: RF024[bloom] <- tpcds_partitioned_parquet_snap.customer_5.c_customer_sk, RF025[min_max] <- tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_5.d_date_sk
+| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | |
| | 159:EXCHANGE [BROADCAST]
-| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=50 row-size=204B cardinality=30.00M cost=39869990
+| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=50 row-size=237B cardinality=73.05K cost=97080
| | | in pipelines: 48(GETNEXT)
| | |
-| | F31:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[64027278]
-| | 48:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| | F31:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | max-parallelism=1 segment-costs=[158950]
+| | 48:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=50 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=50 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 48(GETNEXT)
| |
| 47:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=23
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_1.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_5.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_1.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_5.d_date_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=46,48 row-size=333B cardinality=7.93G(filtered from 8.64G) cost=3599915466
+| | tuple-ids=46,48 row-size=300B cardinality=7.93G cost=3471497176
| | in pipelines: 45(GETNEXT), 46(OPEN)
| |
| |--F109:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[170129]
+| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | | max-parallelism=10 segment-costs=[69869990]
| | JOIN BUILD
| | | join-table-id=23 plan-id=24 cohort-id=11
-| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_5.d_date_sk
-| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | build expressions: tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
+| | | runtime filters: RF026[bloom] <- tpcds_partitioned_parquet_snap.customer_5.c_customer_sk, RF027[min_max] <- tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | |
| | 158:EXCHANGE [BROADCAST]
-| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=48 row-size=237B cardinality=73.05K cost=97080
+| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=48 row-size=204B cardinality=30.00M cost=39869990
| | | in pipelines: 46(GETNEXT)
| | |
-| | F30:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | max-parallelism=1 segment-costs=[158950]
-| | 46:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| | F30:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[64027278]
+| | 46:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=48 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=48 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 46(GETNEXT)
| |
| 45:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
| HDFS partitions=1824/1824 files=1824 size=389.90GB
-| runtime filters: RF025[min_max] -> tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk, RF024[bloom] -> tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk
+| runtime filters: RF027[min_max] -> tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk, RF026[bloom] -> tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk
| stored statistics:
| table: rows=8.64G size=389.90GB
| partitions: 1824/1824 rows=8.64G
@@ -2725,7 +2725,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | F23:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=2.19GB mem-reservation=34.26MB thread-reservation=1
-| | max-parallelism=1824 segment-costs=[17858335975, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1824 segment-costs=[17827120882, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 40:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.web_sales_0.ws_ext_list_price, tpcds_partitioned_parquet_snap.web_sales_0.ws_ext_wholesale_cost), tpcds_partitioned_parquet_snap.web_sales_0.ws_ext_discount_amt), tpcds_partitioned_parquet_snap.web_sales_0.ws_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_4.c_customer_id, tpcds_partitioned_parquet_snap.customer_4.c_first_name, tpcds_partitioned_parquet_snap.customer_4.c_last_name, tpcds_partitioned_parquet_snap.customer_4.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_4.c_birth_country, tpcds_partitioned_parquet_snap.customer_4.c_login, tpcds_partitioned_parquet_snap.customer_4.c_email_address, tpcds_partitioned_parquet_snap.date_dim_4.d_year
@@ -2735,76 +2735,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 39:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=33
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_0.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_0.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_0.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_4.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_0.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_4.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=38,40,42 row-size=582B cardinality=1.99G cost=870015958
| | | in pipelines: 35(GETNEXT), 38(OPEN)
| | |
| | |--F119:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=33 plan-id=34 cohort-id=16
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
-| | | | runtime filters: RF021[min_max] <- tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_4.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 153:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=42 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=42 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 38(GETNEXT)
| | | |
-| | | F25:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 38:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F25:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 38:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=42 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=42 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 38(GETNEXT)
| | |
| | 37:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=34
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_0.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_4.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_0.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_4.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_0.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_0.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=38,40 row-size=377B cardinality=1.99G(filtered from 2.16G) cost=901231051
+| | | tuple-ids=38,40 row-size=344B cardinality=1.99G cost=870015958
| | | in pipelines: 35(GETNEXT), 36(OPEN)
| | |
| | |--F120:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=34 plan-id=35 cohort-id=16
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_4.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
+| | | | runtime filters: RF023[min_max] <- tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 152:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=40 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=40 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 36(GETNEXT)
| | | |
-| | | F24:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 36:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F24:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 36:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=40 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=40 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 36(GETNEXT)
| | |
| | 35:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
| | HDFS partitions=1824/1824 files=1824 size=145.75GB
-| | runtime filters: RF021[min_max] -> tpcds_partitioned_parquet_snap.web_sales_0.ws_bill_customer_sk
+| | runtime filters: RF023[min_max] -> tpcds_partitioned_parquet_snap.web_sales_0.ws_bill_customer_sk
| | stored statistics:
| | table: rows=2.16G size=145.75GB
| | partitions: 1824/1824 rows=2.16G
@@ -2834,7 +2834,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | F18:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
| | Per-Instance Resources: mem-estimate=4.26GB mem-reservation=35.00MB thread-reservation=1
-| | max-parallelism=1831 segment-costs=[35653096274, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1831 segment-costs=[35588885488, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 34:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.catalog_sales_0.cs_ext_list_price, tpcds_partitioned_parquet_snap.catalog_sales_0.cs_ext_wholesale_cost), tpcds_partitioned_parquet_snap.catalog_sales_0.cs_ext_discount_amt), tpcds_partitioned_parquet_snap.catalog_sales_0.cs_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_3.c_customer_id, tpcds_partitioned_parquet_snap.customer_3.c_first_name, tpcds_partitioned_parquet_snap.customer_3.c_last_name, tpcds_partitioned_parquet_snap.customer_3.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_3.c_birth_country, tpcds_partitioned_parquet_snap.customer_3.c_login, tpcds_partitioned_parquet_snap.customer_3.c_email_address, tpcds_partitioned_parquet_snap.date_dim_3.d_year
@@ -2844,76 +2844,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 33:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=31
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_3.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_3.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=30,32,34 row-size=582B cardinality=3.97G cost=1735792939
| | | in pipelines: 29(GETNEXT), 32(OPEN)
| | |
| | |--F117:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=31 plan-id=32 cohort-id=15
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
-| | | | runtime filters: RF016[bloom] <- tpcds_partitioned_parquet_snap.customer_3.c_customer_sk, RF017[min_max] <- tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_3.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 149:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=34 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=34 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 32(GETNEXT)
| | | |
-| | | F20:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 32:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F20:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 32:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=34 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=34 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 32(GETNEXT)
| | |
| | 31:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=32
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_3.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_3.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=30,32 row-size=377B cardinality=3.97G(filtered from 4.32G) cost=1800003725
+| | | tuple-ids=30,32 row-size=344B cardinality=3.97G cost=1735792939
| | | in pipelines: 29(GETNEXT), 30(OPEN)
| | |
| | |--F118:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=32 plan-id=33 cohort-id=15
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_3.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
+| | | | runtime filters: RF018[bloom] <- tpcds_partitioned_parquet_snap.customer_3.c_customer_sk, RF019[min_max] <- tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 148:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=32 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=32 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 30(GETNEXT)
| | | |
-| | | F19:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 30:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F19:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 30:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=32 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=32 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 30(GETNEXT)
| | |
| | 29:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
| | HDFS partitions=1831/1831 files=1831 size=280.96GB
-| | runtime filters: RF017[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk, RF016[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk
+| | runtime filters: RF019[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk, RF018[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk
| | stored statistics:
| | table: rows=4.32G size=280.96GB
| | partitions: 1831/1831 rows=4.32G
@@ -2938,7 +2938,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| F14:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
| Per-Instance Resources: mem-estimate=4.26GB mem-reservation=42.00MB thread-reservation=1
-| max-parallelism=1824 segment-costs=[65629013155, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| max-parallelism=1824 segment-costs=[65500594865, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| 28:AGGREGATE [STREAMING]
| | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.store_sales_0.ss_ext_list_price, tpcds_partitioned_parquet_snap.store_sales_0.ss_ext_wholesale_cost), tpcds_partitioned_parquet_snap.store_sales_0.ss_ext_discount_amt), tpcds_partitioned_parquet_snap.store_sales_0.ss_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | group by: tpcds_partitioned_parquet_snap.customer_2.c_customer_id, tpcds_partitioned_parquet_snap.customer_2.c_first_name, tpcds_partitioned_parquet_snap.customer_2.c_last_name, tpcds_partitioned_parquet_snap.customer_2.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_2.c_birth_country, tpcds_partitioned_parquet_snap.customer_2.c_login, tpcds_partitioned_parquet_snap.customer_2.c_email_address, tpcds_partitioned_parquet_snap.date_dim_2.d_year
@@ -2948,76 +2948,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| |
| 27:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=29
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_0.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=23,25,27 row-size=538B cardinality=7.93G cost=3471497176
| | in pipelines: 23(GETNEXT), 26(OPEN)
| |
| |--F115:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | | max-parallelism=10 segment-costs=[69869990]
+| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[170129]
| | JOIN BUILD
| | | join-table-id=29 plan-id=30 cohort-id=14
-| | | build expressions: tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
-| | | runtime filters: RF012[bloom] <- tpcds_partitioned_parquet_snap.customer_2.c_customer_sk, RF013[min_max] <- tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
+| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | |
| | 145:EXCHANGE [BROADCAST]
-| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=27 row-size=204B cardinality=30.00M cost=39869990
+| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=27 row-size=237B cardinality=73.05K cost=97080
| | | in pipelines: 26(GETNEXT)
| | |
-| | F16:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[64027278]
-| | 26:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| | F16:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | max-parallelism=1 segment-costs=[158950]
+| | 26:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=27 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=27 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 26(GETNEXT)
| |
| 25:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=30
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_0.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=23,25 row-size=333B cardinality=7.93G(filtered from 8.64G) cost=3599915466
+| | tuple-ids=23,25 row-size=300B cardinality=7.93G cost=3471497176
| | in pipelines: 23(GETNEXT), 24(OPEN)
| |
| |--F116:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[170129]
+| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | | max-parallelism=10 segment-costs=[69869990]
| | JOIN BUILD
| | | join-table-id=30 plan-id=31 cohort-id=14
-| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
-| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | build expressions: tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
+| | | runtime filters: RF014[bloom] <- tpcds_partitioned_parquet_snap.customer_2.c_customer_sk, RF015[min_max] <- tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | |
| | 144:EXCHANGE [BROADCAST]
-| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=25 row-size=237B cardinality=73.05K cost=97080
+| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=25 row-size=204B cardinality=30.00M cost=39869990
| | | in pipelines: 24(GETNEXT)
| | |
-| | F15:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | max-parallelism=1 segment-costs=[158950]
-| | 24:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| | F15:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[64027278]
+| | 24:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=25 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=25 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 24(GETNEXT)
| |
| 23:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
| HDFS partitions=1824/1824 files=1824 size=389.90GB
-| runtime filters: RF013[min_max] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk, RF012[bloom] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk
+| runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk, RF014[bloom] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk
| stored statistics:
| table: rows=8.64G size=389.90GB
| partitions: 1824/1824 rows=8.64G
@@ -3036,7 +3036,7 @@ F13:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
Per-Instance Resources: mem-estimate=4.23GB mem-reservation=34.00MB thread-reservation=1
max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 37772016915] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
20:SELECT
-| predicates: DYEAR = add(CAST(1999 AS INT), CAST(1 AS INT)), SALE_TYPE = 'w'
+| predicates: DYEAR = add(CAST(1999 AS INT), CAST(1 AS INT)), SALE_TYPE = 's'
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=22 row-size=116B cardinality=1.18G cost=23666825216
| in pipelines: 135(GETNEXT), 139(GETNEXT), 143(GETNEXT)
@@ -3061,7 +3061,7 @@ max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 377720
| |
| F09:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Instance Resources: mem-estimate=2.19GB mem-reservation=34.26MB thread-reservation=1
-| max-parallelism=1824 segment-costs=[17858335975, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| max-parallelism=1824 segment-costs=[17827120882, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| 19:AGGREGATE [STREAMING]
| | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.web_sales.ws_ext_list_price, tpcds_partitioned_parquet_snap.web_sales.ws_ext_wholesale_cost), tpcds_partitioned_parquet_snap.web_sales.ws_ext_discount_amt), tpcds_partitioned_parquet_snap.web_sales.ws_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | group by: tpcds_partitioned_parquet_snap.customer_1.c_customer_id, tpcds_partitioned_parquet_snap.customer_1.c_first_name, tpcds_partitioned_parquet_snap.customer_1.c_last_name, tpcds_partitioned_parquet_snap.customer_1.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_1.c_birth_country, tpcds_partitioned_parquet_snap.customer_1.c_login, tpcds_partitioned_parquet_snap.customer_1.c_email_address, tpcds_partitioned_parquet_snap.date_dim_1.d_year
@@ -3071,76 +3071,76 @@ max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 377720
| |
| 18:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=39
-| | hash predicates: tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.web_sales.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_1.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_1.d_date_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=15,17,19 row-size=582B cardinality=1.99G cost=870015958
| | in pipelines: 14(GETNEXT), 17(OPEN)
| |
| |--F125:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[69869990]
+| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[170129]
| | JOIN BUILD
| | | join-table-id=39 plan-id=40 cohort-id=01
-| | | build expressions: tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
-| | | runtime filters: RF009[min_max] <- tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_1.d_date_sk
+| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | |
| | 141:EXCHANGE [BROADCAST]
-| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=19 row-size=204B cardinality=30.00M cost=39869990
+| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=19 row-size=237B cardinality=73.05K cost=97080
| | | in pipelines: 17(GETNEXT)
| | |
-| | F11:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[64027278]
-| | 17:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| | F11:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | max-parallelism=1 segment-costs=[158950]
+| | 17:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=19 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=19 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 17(GETNEXT)
| |
| 16:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=40
-| | hash predicates: tpcds_partitioned_parquet_snap.web_sales.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_1.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_1.d_date_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=15,17 row-size=377B cardinality=1.99G(filtered from 2.16G) cost=901231051
+| | tuple-ids=15,17 row-size=344B cardinality=1.99G cost=870015958
| | in pipelines: 14(GETNEXT), 15(OPEN)
| |
| |--F126:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[170129]
+| | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[69869990]
| | JOIN BUILD
| | | join-table-id=40 plan-id=41 cohort-id=01
-| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_1.d_date_sk
-| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | build expressions: tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
+| | | runtime filters: RF011[min_max] <- tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | |
| | 140:EXCHANGE [BROADCAST]
-| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=17 row-size=237B cardinality=73.05K cost=97080
+| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=17 row-size=204B cardinality=30.00M cost=39869990
| | | in pipelines: 15(GETNEXT)
| | |
-| | F10:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | max-parallelism=1 segment-costs=[158950]
-| | 15:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| | F10:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[64027278]
+| | 15:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=17 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=17 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 15(GETNEXT)
| |
| 14:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
| HDFS partitions=1824/1824 files=1824 size=145.75GB
-| runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk
+| runtime filters: RF011[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk
| stored statistics:
| table: rows=2.16G size=145.75GB
| partitions: 1824/1824 rows=2.16G
@@ -3170,7 +3170,7 @@ max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 377720
| F04:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
| Per-Instance Resources: mem-estimate=4.26GB mem-reservation=35.00MB thread-reservation=1
-| max-parallelism=1831 segment-costs=[35653096274, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| max-parallelism=1831 segment-costs=[35588885488, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| 13:AGGREGATE [STREAMING]
| | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.catalog_sales.cs_ext_list_price, tpcds_partitioned_parquet_snap.catalog_sales.cs_ext_wholesale_cost), tpcds_partitioned_parquet_snap.catalog_sales.cs_ext_discount_amt), tpcds_partitioned_parquet_snap.catalog_sales.cs_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | group by: tpcds_partitioned_parquet_snap.customer_0.c_customer_id, tpcds_partitioned_parquet_snap.customer_0.c_first_name, tpcds_partitioned_parquet_snap.customer_0.c_last_name, tpcds_partitioned_parquet_snap.customer_0.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_0.c_birth_country, tpcds_partitioned_parquet_snap.customer_0.c_login, tpcds_partitioned_parquet_snap.customer_0.c_email_address, tpcds_partitioned_parquet_snap.date_dim_0.d_year
@@ -3180,76 +3180,76 @@ max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 377720
| |
| 12:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=37
-| | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=7,9,11 row-size=582B cardinality=3.97G cost=1735792939
| | in pipelines: 08(GETNEXT), 11(OPEN)
| |
| |--F123:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | | max-parallelism=10 segment-costs=[69869990]
+| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[170129]
| | JOIN BUILD
| | | join-table-id=37 plan-id=38 cohort-id=01
-| | | build expressions: tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
-| | | runtime filters: RF004[bloom] <- tpcds_partitioned_parquet_snap.customer_0.c_customer_sk, RF005[min_max] <- tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
+| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | |
| | 137:EXCHANGE [BROADCAST]
-| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=11 row-size=204B cardinality=30.00M cost=39869990
+| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=11 row-size=237B cardinality=73.05K cost=97080
| | | in pipelines: 11(GETNEXT)
| | |
-| | F06:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[64027278]
-| | 11:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| | F06:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | max-parallelism=1 segment-costs=[158950]
+| | 11:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=11 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=11 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 11(GETNEXT)
| |
| 10:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=38
-| | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=7,9 row-size=377B cardinality=3.97G(filtered from 4.32G) cost=1800003725
+| | tuple-ids=7,9 row-size=344B cardinality=3.97G cost=1735792939
| | in pipelines: 08(GETNEXT), 09(OPEN)
| |
| |--F124:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[170129]
+| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | | max-parallelism=10 segment-costs=[69869990]
| | JOIN BUILD
| | | join-table-id=38 plan-id=39 cohort-id=01
-| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
-| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | build expressions: tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
+| | | runtime filters: RF006[bloom] <- tpcds_partitioned_parquet_snap.customer_0.c_customer_sk, RF007[min_max] <- tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | |
| | 136:EXCHANGE [BROADCAST]
-| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=9 row-size=237B cardinality=73.05K cost=97080
+| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=9 row-size=204B cardinality=30.00M cost=39869990
| | | in pipelines: 09(GETNEXT)
| | |
-| | F05:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | max-parallelism=1 segment-costs=[158950]
-| | 09:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| | F05:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[64027278]
+| | 09:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=9 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=9 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 09(GETNEXT)
| |
| 08:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
| HDFS partitions=1831/1831 files=1831 size=280.96GB
-| runtime filters: RF005[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk, RF004[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk
+| runtime filters: RF007[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk, RF006[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk
| stored statistics:
| table: rows=4.32G size=280.96GB
| partitions: 1831/1831 rows=4.32G
@@ -3274,7 +3274,7 @@ max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 377720
F00:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
Per-Instance Resources: mem-estimate=4.26GB mem-reservation=42.00MB thread-reservation=1
-max-parallelism=1824 segment-costs=[65629013155, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+max-parallelism=1824 segment-costs=[65500594865, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
07:AGGREGATE [STREAMING]
| output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.store_sales.ss_ext_list_price, tpcds_partitioned_parquet_snap.store_sales.ss_ext_wholesale_cost), tpcds_partitioned_parquet_snap.store_sales.ss_ext_discount_amt), tpcds_partitioned_parquet_snap.store_sales.ss_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| group by: tpcds_partitioned_parquet_snap.customer.c_customer_id, tpcds_partitioned_parquet_snap.customer.c_first_name, tpcds_partitioned_parquet_snap.customer.c_last_name, tpcds_partitioned_parquet_snap.customer.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer.c_birth_country, tpcds_partitioned_parquet_snap.customer.c_login, tpcds_partitioned_parquet_snap.customer.c_email_address, tpcds_partitioned_parquet_snap.date_dim.d_year
@@ -3284,76 +3284,76 @@ max-parallelism=1824 segment-costs=[65629013155, 89974606443] cpu-comparison-res
|
06:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=35
-| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk = tpcds_partitioned_parquet_snap.customer.c_customer_sk
-| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk = tpcds_partitioned_parquet_snap.customer.c_customer_sk
+| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
| mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=0,2,4 row-size=538B cardinality=7.93G cost=3471497176
| in pipelines: 02(GETNEXT), 05(OPEN)
|
|--F121:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | max-parallelism=10 segment-costs=[69869990]
+| | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[170129]
| JOIN BUILD
| | join-table-id=35 plan-id=36 cohort-id=01
-| | build expressions: tpcds_partitioned_parquet_snap.customer.c_customer_sk
-| | runtime filters: RF000[bloom] <- tpcds_partitioned_parquet_snap.customer.c_customer_sk, RF001[min_max] <- tpcds_partitioned_parquet_snap.customer.c_customer_sk
-| | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | build expressions: tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| |
| 133:EXCHANGE [BROADCAST]
-| | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=4 row-size=204B cardinality=30.00M cost=39869990
+| | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=4 row-size=237B cardinality=73.05K cost=97080
| | in pipelines: 05(GETNEXT)
| |
-| F02:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| max-parallelism=10 segment-costs=[64027278]
-| 05:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| HDFS partitions=1/1 files=1 size=1.55GB
+| F02:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| max-parallelism=1 segment-costs=[158950]
+| 05:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| HDFS partitions=1/1 files=1 size=2.17MB
| stored statistics:
-| table: rows=30.00M size=1.55GB
+| table: rows=73.05K size=2.17MB
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=3.10M
-| mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| tuple-ids=4 row-size=204B cardinality=30.00M cost=46823813
+| extrapolated-rows=disabled max-scan-range-rows=73.05K
+| mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| tuple-ids=4 row-size=237B cardinality=73.05K cost=110600
| in pipelines: 05(GETNEXT)
|
04:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=36
-| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk = tpcds_partitioned_parquet_snap.customer.c_customer_sk
+| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk = tpcds_partitioned_parquet_snap.customer.c_customer_sk
| mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=0,2 row-size=333B cardinality=7.93G(filtered from 8.64G) cost=3599915466
+| tuple-ids=0,2 row-size=300B cardinality=7.93G cost=3471497176
| in pipelines: 02(GETNEXT), 03(OPEN)
|
|--F122:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[170129]
+| | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | max-parallelism=10 segment-costs=[69869990]
| JOIN BUILD
| | join-table-id=36 plan-id=37 cohort-id=01
-| | build expressions: tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | build expressions: tpcds_partitioned_parquet_snap.customer.c_customer_sk
+| | runtime filters: RF002[bloom] <- tpcds_partitioned_parquet_snap.customer.c_customer_sk, RF003[min_max] <- tpcds_partitioned_parquet_snap.customer.c_customer_sk
+| | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| |
| 132:EXCHANGE [BROADCAST]
-| | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=2 row-size=237B cardinality=73.05K cost=97080
+| | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=2 row-size=204B cardinality=30.00M cost=39869990
| | in pipelines: 03(GETNEXT)
| |
-| F01:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[158950]
-| 03:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| HDFS partitions=1/1 files=1 size=2.17MB
+| F01:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| max-parallelism=10 segment-costs=[64027278]
+| 03:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| HDFS partitions=1/1 files=1 size=1.55GB
| stored statistics:
-| table: rows=73.05K size=2.17MB
+| table: rows=30.00M size=1.55GB
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=73.05K
-| mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| tuple-ids=2 row-size=237B cardinality=73.05K cost=110600
+| extrapolated-rows=disabled max-scan-range-rows=3.10M
+| mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| tuple-ids=2 row-size=204B cardinality=30.00M cost=46823813
| in pipelines: 03(GETNEXT)
|
02:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
HDFS partitions=1824/1824 files=1824 size=389.90GB
- runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk
+ runtime filters: RF003[min_max] -> tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk
stored statistics:
table: rows=8.64G size=389.90GB
partitions: 1824/1824 rows=8.64G
@@ -3412,11 +3412,11 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| |
| F84:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Instance Resources: mem-estimate=4.23GB mem-reservation=34.00MB thread-reservation=1
-| max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 37772016915] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+| max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 49605428499] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
| 129:SELECT
-| | predicates: DYEAR = add(CAST(1999 AS INT), CAST(1 AS INT)), SALE_TYPE = 's'
+| | predicates: DYEAR = CAST(1999 AS INT), SALE_TYPE = 'w', YEAR_TOTAL > CAST(0 AS DECIMAL(3,0))
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=137 row-size=116B cardinality=1.18G cost=23666825216
+| | tuple-ids=137 row-size=116B cardinality=1.18G cost=35500236800
| | in pipelines: 200(GETNEXT), 204(GETNEXT), 208(GETNEXT)
| |
| 109:UNION
@@ -3439,7 +3439,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | F80:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=2.19GB mem-reservation=34.26MB thread-reservation=1
-| | max-parallelism=1824 segment-costs=[17858335975, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1824 segment-costs=[17827120882, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 128:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.web_sales_4.ws_ext_list_price, tpcds_partitioned_parquet_snap.web_sales_4.ws_ext_wholesale_cost), tpcds_partitioned_parquet_snap.web_sales_4.ws_ext_discount_amt), tpcds_partitioned_parquet_snap.web_sales_4.ws_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_16.c_customer_id, tpcds_partitioned_parquet_snap.customer_16.c_first_name, tpcds_partitioned_parquet_snap.customer_16.c_last_name, tpcds_partitioned_parquet_snap.customer_16.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_16.c_birth_country, tpcds_partitioned_parquet_snap.customer_16.c_login, tpcds_partitioned_parquet_snap.customer_16.c_email_address, tpcds_partitioned_parquet_snap.date_dim_16.d_year
@@ -3449,76 +3449,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 127:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=05
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_4.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_4.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_4.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_16.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_4.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_16.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=130,132,134 row-size=582B cardinality=1.99G cost=870015958
| | | in pipelines: 123(GETNEXT), 126(OPEN)
| | |
| | |--F91:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=05 plan-id=06 cohort-id=04
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
-| | | | runtime filters: RF069[min_max] <- tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_16.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 206:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=134 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=134 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 126(GETNEXT)
| | | |
-| | | F82:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 126:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F82:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 126:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=134 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=134 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 126(GETNEXT)
| | |
| | 125:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=06
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_4.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_16.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_4.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_16.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_4.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_4.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=130,132 row-size=377B cardinality=1.99G(filtered from 2.16G) cost=901231051
+| | | tuple-ids=130,132 row-size=344B cardinality=1.99G cost=870015958
| | | in pipelines: 123(GETNEXT), 124(OPEN)
| | |
| | |--F92:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=06 plan-id=07 cohort-id=04
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_16.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
+| | | | runtime filters: RF071[min_max] <- tpcds_partitioned_parquet_snap.customer_16.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 205:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=132 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=132 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 124(GETNEXT)
| | | |
-| | | F81:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 124:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F81:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 124:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=132 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=132 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 124(GETNEXT)
| | |
| | 123:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
| | HDFS partitions=1824/1824 files=1824 size=145.75GB
-| | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.web_sales_4.ws_bill_customer_sk
+| | runtime filters: RF071[min_max] -> tpcds_partitioned_parquet_snap.web_sales_4.ws_bill_customer_sk
| | stored statistics:
| | table: rows=2.16G size=145.75GB
| | partitions: 1824/1824 rows=2.16G
@@ -3547,7 +3547,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | F75:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=4.26GB mem-reservation=35.00MB thread-reservation=1
-| | max-parallelism=1831 segment-costs=[35653096274, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1831 segment-costs=[35588885488, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 122:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.catalog_sales_4.cs_ext_list_price, tpcds_partitioned_parquet_snap.catalog_sales_4.cs_ext_wholesale_cost), tpcds_partitioned_parquet_snap.catalog_sales_4.cs_ext_discount_amt), tpcds_partitioned_parquet_snap.catalog_sales_4.cs_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_15.c_customer_id, tpcds_partitioned_parquet_snap.customer_15.c_first_name, tpcds_partitioned_parquet_snap.customer_15.c_last_name, tpcds_partitioned_parquet_snap.customer_15.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_15.c_birth_country, tpcds_partitioned_parquet_snap.customer_15.c_login, tpcds_partitioned_parquet_snap.customer_15.c_email_address, tpcds_partitioned_parquet_snap.date_dim_15.d_year
@@ -3557,76 +3557,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 121:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=03
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_15.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_15.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=122,124,126 row-size=582B cardinality=3.97G cost=1735792939
| | | in pipelines: 117(GETNEXT), 120(OPEN)
| | |
| | |--F89:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=03 plan-id=04 cohort-id=03
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
-| | | | runtime filters: RF065[min_max] <- tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_15.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 202:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=126 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=126 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 120(GETNEXT)
| | | |
-| | | F77:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 120:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F77:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 120:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=126 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=126 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 120(GETNEXT)
| | |
| | 119:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=04
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_15.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_15.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=122,124 row-size=377B cardinality=3.97G(filtered from 4.32G) cost=1800003725
+| | | tuple-ids=122,124 row-size=344B cardinality=3.97G cost=1735792939
| | | in pipelines: 117(GETNEXT), 118(OPEN)
| | |
| | |--F90:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=04 plan-id=05 cohort-id=03
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_15.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
+| | | | runtime filters: RF067[min_max] <- tpcds_partitioned_parquet_snap.customer_15.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 201:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=124 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=124 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 118(GETNEXT)
| | | |
-| | | F76:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 118:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F76:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 118:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=124 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=124 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 118(GETNEXT)
| | |
| | 117:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
| | HDFS partitions=1831/1831 files=1831 size=280.96GB
-| | runtime filters: RF065[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_4.cs_bill_customer_sk
+| | runtime filters: RF067[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_4.cs_bill_customer_sk
| | stored statistics:
| | table: rows=4.32G size=280.96GB
| | partitions: 1831/1831 rows=4.32G
@@ -3651,7 +3651,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| F71:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
| Per-Instance Resources: mem-estimate=4.26GB mem-reservation=42.00MB thread-reservation=1
-| max-parallelism=1824 segment-costs=[65629013155, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| max-parallelism=1824 segment-costs=[65500594865, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| 116:AGGREGATE [STREAMING]
| | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.store_sales_4.ss_ext_list_price, tpcds_partitioned_parquet_snap.store_sales_4.ss_ext_wholesale_cost), tpcds_partitioned_parquet_snap.store_sales_4.ss_ext_discount_amt), tpcds_partitioned_parquet_snap.store_sales_4.ss_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | group by: tpcds_partitioned_parquet_snap.customer_14.c_customer_id, tpcds_partitioned_parquet_snap.customer_14.c_first_name, tpcds_partitioned_parquet_snap.customer_14.c_last_name, tpcds_partitioned_parquet_snap.customer_14.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_14.c_birth_country, tpcds_partitioned_parquet_snap.customer_14.c_login, tpcds_partitioned_parquet_snap.customer_14.c_email_address, tpcds_partitioned_parquet_snap.date_dim_14.d_year
@@ -3661,76 +3661,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| |
| 115:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=01
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_14.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_4.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_14.d_date_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=115,117,119 row-size=538B cardinality=7.93G cost=3471497176
| | in pipelines: 111(GETNEXT), 114(OPEN)
| |
| |--F87:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | | max-parallelism=10 segment-costs=[69869990]
+| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[170129]
| | JOIN BUILD
| | | join-table-id=01 plan-id=02 cohort-id=02
-| | | build expressions: tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
-| | | runtime filters: RF060[bloom] <- tpcds_partitioned_parquet_snap.customer_14.c_customer_sk, RF061[min_max] <- tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_14.d_date_sk
+| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | |
| | 198:EXCHANGE [BROADCAST]
-| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=119 row-size=204B cardinality=30.00M cost=39869990
+| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=119 row-size=237B cardinality=73.05K cost=97080
| | | in pipelines: 114(GETNEXT)
| | |
-| | F73:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[64027278]
-| | 114:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| | F73:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | max-parallelism=1 segment-costs=[158950]
+| | 114:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=119 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=119 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 114(GETNEXT)
| |
| 113:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=02
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_14.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_4.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_14.d_date_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=115,117 row-size=333B cardinality=7.93G(filtered from 8.64G) cost=3599915466
+| | tuple-ids=115,117 row-size=300B cardinality=7.93G cost=3471497176
| | in pipelines: 111(GETNEXT), 112(OPEN)
| |
| |--F88:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[170129]
+| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | | max-parallelism=10 segment-costs=[69869990]
| | JOIN BUILD
| | | join-table-id=02 plan-id=03 cohort-id=02
-| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_14.d_date_sk
-| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | build expressions: tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
+| | | runtime filters: RF062[bloom] <- tpcds_partitioned_parquet_snap.customer_14.c_customer_sk, RF063[min_max] <- tpcds_partitioned_parquet_snap.customer_14.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | |
| | 197:EXCHANGE [BROADCAST]
-| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=117 row-size=237B cardinality=73.05K cost=97080
+| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=117 row-size=204B cardinality=30.00M cost=39869990
| | | in pipelines: 112(GETNEXT)
| | |
-| | F72:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | max-parallelism=1 segment-costs=[158950]
-| | 112:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| | F72:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[64027278]
+| | 112:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=117 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=117 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 112(GETNEXT)
| |
| 111:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
| HDFS partitions=1824/1824 files=1824 size=389.90GB
-| runtime filters: RF061[min_max] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk, RF060[bloom] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk
+| runtime filters: RF063[min_max] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk, RF062[bloom] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_customer_sk
| stored statistics:
| table: rows=8.64G size=389.90GB
| partitions: 1824/1824 rows=8.64G
@@ -3744,7 +3744,6 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| hash-table-id=07
| hash predicates: CUSTOMER_ID = CUSTOMER_ID
| fk/pk conjuncts: assumed fk/pk
-| other join predicates: CASE WHEN YEAR_TOTAL > CAST(0 AS DECIMAL(3,0)) THEN divide(YEAR_TOTAL, YEAR_TOTAL) ELSE NULL END > CASE WHEN YEAR_TOTAL > CAST(0 AS DECIMAL(3,0)) THEN divide(YEAR_TOTAL, YEAR_TOTAL) ELSE NULL END
| mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=22,45,68,91,114 row-size=580B cardinality=1.18G cost=517948489
| in pipelines: 135(GETNEXT), 139(GETNEXT), 143(GETNEXT), 187(OPEN), 191(OPEN), 195(OPEN)
@@ -3764,11 +3763,11 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| |
| F70:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Instance Resources: mem-estimate=4.23GB mem-reservation=34.00MB thread-reservation=1
-| max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 49605428499] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+| max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 37772016915] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
| 107:SELECT
-| | predicates: DYEAR = CAST(1999 AS INT), SALE_TYPE = 'c', YEAR_TOTAL > CAST(0 AS DECIMAL(3,0))
+| | predicates: DYEAR = add(CAST(1999 AS INT), CAST(1 AS INT)), SALE_TYPE = 'w'
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=114 row-size=116B cardinality=1.18G cost=35500236800
+| | tuple-ids=114 row-size=116B cardinality=1.18G cost=23666825216
| | in pipelines: 187(GETNEXT), 191(GETNEXT), 195(GETNEXT)
| |
| 87:UNION
@@ -3791,7 +3790,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | F66:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=2.19GB mem-reservation=34.26MB thread-reservation=1
-| | max-parallelism=1824 segment-costs=[17858335975, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1824 segment-costs=[17827120882, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 106:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.web_sales_3.ws_ext_list_price, tpcds_partitioned_parquet_snap.web_sales_3.ws_ext_wholesale_cost), tpcds_partitioned_parquet_snap.web_sales_3.ws_ext_discount_amt), tpcds_partitioned_parquet_snap.web_sales_3.ws_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_13.c_customer_id, tpcds_partitioned_parquet_snap.customer_13.c_first_name, tpcds_partitioned_parquet_snap.customer_13.c_last_name, tpcds_partitioned_parquet_snap.customer_13.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_13.c_birth_country, tpcds_partitioned_parquet_snap.customer_13.c_login, tpcds_partitioned_parquet_snap.customer_13.c_email_address, tpcds_partitioned_parquet_snap.date_dim_13.d_year
@@ -3801,76 +3800,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 105:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=12
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_3.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_3.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_3.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_3.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=107,109,111 row-size=582B cardinality=1.99G cost=870015958
| | | in pipelines: 101(GETNEXT), 104(OPEN)
| | |
| | |--F98:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=12 plan-id=13 cohort-id=07
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
-| | | | runtime filters: RF057[min_max] <- tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 193:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=111 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=111 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 104(GETNEXT)
| | | |
-| | | F68:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 104:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F68:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 104:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=111 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=111 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 104(GETNEXT)
| | |
| | 103:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=13
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_3.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_3.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_3.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_3.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=107,109 row-size=377B cardinality=1.99G(filtered from 2.16G) cost=901231051
+| | | tuple-ids=107,109 row-size=344B cardinality=1.99G cost=870015958
| | | in pipelines: 101(GETNEXT), 102(OPEN)
| | |
| | |--F99:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=13 plan-id=14 cohort-id=07
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
+| | | | runtime filters: RF059[min_max] <- tpcds_partitioned_parquet_snap.customer_13.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 192:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=109 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=109 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 102(GETNEXT)
| | | |
-| | | F67:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 102:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F67:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 102:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=109 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=109 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 102(GETNEXT)
| | |
| | 101:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
| | HDFS partitions=1824/1824 files=1824 size=145.75GB
-| | runtime filters: RF057[min_max] -> tpcds_partitioned_parquet_snap.web_sales_3.ws_bill_customer_sk
+| | runtime filters: RF059[min_max] -> tpcds_partitioned_parquet_snap.web_sales_3.ws_bill_customer_sk
| | stored statistics:
| | table: rows=2.16G size=145.75GB
| | partitions: 1824/1824 rows=2.16G
@@ -3899,7 +3898,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | F61:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=4.26GB mem-reservation=35.00MB thread-reservation=1
-| | max-parallelism=1831 segment-costs=[35653096274, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1831 segment-costs=[35588885488, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 100:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.catalog_sales_3.cs_ext_list_price, tpcds_partitioned_parquet_snap.catalog_sales_3.cs_ext_wholesale_cost), tpcds_partitioned_parquet_snap.catalog_sales_3.cs_ext_discount_amt), tpcds_partitioned_parquet_snap.catalog_sales_3.cs_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_12.c_customer_id, tpcds_partitioned_parquet_snap.customer_12.c_first_name, tpcds_partitioned_parquet_snap.customer_12.c_last_name, tpcds_partitioned_parquet_snap.customer_12.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_12.c_birth_country, tpcds_partitioned_parquet_snap.customer_12.c_login, tpcds_partitioned_parquet_snap.customer_12.c_email_address, tpcds_partitioned_parquet_snap.date_dim_12.d_year
@@ -3909,76 +3908,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 99:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=10
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_12.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_12.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=99,101,103 row-size=582B cardinality=3.97G cost=1735792939
| | | in pipelines: 95(GETNEXT), 98(OPEN)
| | |
| | |--F96:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=10 plan-id=11 cohort-id=06
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
-| | | | runtime filters: RF053[min_max] <- tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_12.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 189:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=103 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=103 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 98(GETNEXT)
| | | |
-| | | F63:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 98:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F63:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 98:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=103 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=103 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 98(GETNEXT)
| | |
| | 97:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=11
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_12.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_12.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_3.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=99,101 row-size=377B cardinality=3.97G(filtered from 4.32G) cost=1800003725
+| | | tuple-ids=99,101 row-size=344B cardinality=3.97G cost=1735792939
| | | in pipelines: 95(GETNEXT), 96(OPEN)
| | |
| | |--F97:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=11 plan-id=12 cohort-id=06
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_12.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
+| | | | runtime filters: RF055[min_max] <- tpcds_partitioned_parquet_snap.customer_12.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 188:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=101 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=101 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 96(GETNEXT)
| | | |
-| | | F62:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 96:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F62:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 96:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=101 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=101 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 96(GETNEXT)
| | |
| | 95:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
| | HDFS partitions=1831/1831 files=1831 size=280.96GB
-| | runtime filters: RF053[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_3.cs_bill_customer_sk
+| | runtime filters: RF055[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_3.cs_bill_customer_sk
| | stored statistics:
| | table: rows=4.32G size=280.96GB
| | partitions: 1831/1831 rows=4.32G
@@ -4003,7 +4002,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| F57:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
| Per-Instance Resources: mem-estimate=4.26GB mem-reservation=42.00MB thread-reservation=1
-| max-parallelism=1824 segment-costs=[65629013155, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| max-parallelism=1824 segment-costs=[65500594865, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| 94:AGGREGATE [STREAMING]
| | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.store_sales_3.ss_ext_list_price, tpcds_partitioned_parquet_snap.store_sales_3.ss_ext_wholesale_cost), tpcds_partitioned_parquet_snap.store_sales_3.ss_ext_discount_amt), tpcds_partitioned_parquet_snap.store_sales_3.ss_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | group by: tpcds_partitioned_parquet_snap.customer_11.c_customer_id, tpcds_partitioned_parquet_snap.customer_11.c_first_name, tpcds_partitioned_parquet_snap.customer_11.c_last_name, tpcds_partitioned_parquet_snap.customer_11.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_11.c_birth_country, tpcds_partitioned_parquet_snap.customer_11.c_login, tpcds_partitioned_parquet_snap.customer_11.c_email_address, tpcds_partitioned_parquet_snap.date_dim_11.d_year
@@ -4013,76 +4012,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| |
| 93:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=08
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_11.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_3.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_11.d_date_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=92,94,96 row-size=538B cardinality=7.93G cost=3471497176
| | in pipelines: 89(GETNEXT), 92(OPEN)
| |
| |--F94:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | | max-parallelism=10 segment-costs=[69869990]
+| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[170129]
| | JOIN BUILD
| | | join-table-id=08 plan-id=09 cohort-id=05
-| | | build expressions: tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
-| | | runtime filters: RF048[bloom] <- tpcds_partitioned_parquet_snap.customer_11.c_customer_sk, RF049[min_max] <- tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_11.d_date_sk
+| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | |
| | 185:EXCHANGE [BROADCAST]
-| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=96 row-size=204B cardinality=30.00M cost=39869990
+| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=96 row-size=237B cardinality=73.05K cost=97080
| | | in pipelines: 92(GETNEXT)
| | |
-| | F59:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[64027278]
-| | 92:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| | F59:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | max-parallelism=1 segment-costs=[158950]
+| | 92:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=96 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=96 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 92(GETNEXT)
| |
| 91:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=09
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_11.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_3.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_11.d_date_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=92,94 row-size=333B cardinality=7.93G(filtered from 8.64G) cost=3599915466
+| | tuple-ids=92,94 row-size=300B cardinality=7.93G cost=3471497176
| | in pipelines: 89(GETNEXT), 90(OPEN)
| |
| |--F95:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[170129]
+| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | | max-parallelism=10 segment-costs=[69869990]
| | JOIN BUILD
| | | join-table-id=09 plan-id=10 cohort-id=05
-| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_11.d_date_sk
-| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | build expressions: tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
+| | | runtime filters: RF050[bloom] <- tpcds_partitioned_parquet_snap.customer_11.c_customer_sk, RF051[min_max] <- tpcds_partitioned_parquet_snap.customer_11.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | |
| | 184:EXCHANGE [BROADCAST]
-| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=94 row-size=237B cardinality=73.05K cost=97080
+| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=94 row-size=204B cardinality=30.00M cost=39869990
| | | in pipelines: 90(GETNEXT)
| | |
-| | F58:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | max-parallelism=1 segment-costs=[158950]
-| | 90:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| | F58:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[64027278]
+| | 90:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=94 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=94 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 90(GETNEXT)
| |
| 89:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
| HDFS partitions=1824/1824 files=1824 size=389.90GB
-| runtime filters: RF049[min_max] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk, RF048[bloom] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk
+| runtime filters: RF051[min_max] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk, RF050[bloom] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk
| stored statistics:
| table: rows=8.64G size=389.90GB
| partitions: 1824/1824 rows=8.64G
@@ -4096,6 +4095,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| hash-table-id=14
| hash predicates: CUSTOMER_ID = CUSTOMER_ID
| fk/pk conjuncts: assumed fk/pk
+| other join predicates: CASE WHEN YEAR_TOTAL > CAST(0 AS DECIMAL(3,0)) THEN divide(YEAR_TOTAL, YEAR_TOTAL) ELSE NULL END > CASE WHEN YEAR_TOTAL > CAST(0 AS DECIMAL(3,0)) THEN divide(YEAR_TOTAL, YEAR_TOTAL) ELSE NULL END
| mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=22,45,68,91 row-size=464B cardinality=1.18G cost=517948489
| in pipelines: 135(GETNEXT), 139(GETNEXT), 143(GETNEXT), 174(OPEN), 178(OPEN), 182(OPEN)
@@ -4115,11 +4115,11 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| |
| F56:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Instance Resources: mem-estimate=4.23GB mem-reservation=34.00MB thread-reservation=1
-| max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 37772016915] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+| max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 49605428499] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
| 85:SELECT
-| | predicates: DYEAR = add(CAST(1999 AS INT), CAST(1 AS INT)), SALE_TYPE = 'c'
+| | predicates: DYEAR = CAST(1999 AS INT), SALE_TYPE = 'c', YEAR_TOTAL > CAST(0 AS DECIMAL(3,0))
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=91 row-size=116B cardinality=1.18G cost=23666825216
+| | tuple-ids=91 row-size=116B cardinality=1.18G cost=35500236800
| | in pipelines: 174(GETNEXT), 178(GETNEXT), 182(GETNEXT)
| |
| 65:UNION
@@ -4142,7 +4142,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | F52:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=2.19GB mem-reservation=34.26MB thread-reservation=1
-| | max-parallelism=1824 segment-costs=[17858335975, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1824 segment-costs=[17827120882, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 84:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.web_sales_2.ws_ext_list_price, tpcds_partitioned_parquet_snap.web_sales_2.ws_ext_wholesale_cost), tpcds_partitioned_parquet_snap.web_sales_2.ws_ext_discount_amt), tpcds_partitioned_parquet_snap.web_sales_2.ws_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_10.c_customer_id, tpcds_partitioned_parquet_snap.customer_10.c_first_name, tpcds_partitioned_parquet_snap.customer_10.c_last_name, tpcds_partitioned_parquet_snap.customer_10.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_10.c_birth_country, tpcds_partitioned_parquet_snap.customer_10.c_login, tpcds_partitioned_parquet_snap.customer_10.c_email_address, tpcds_partitioned_parquet_snap.date_dim_10.d_year
@@ -4152,76 +4152,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 83:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=19
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_2.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_2.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_2.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_2.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=84,86,88 row-size=582B cardinality=1.99G cost=870015958
| | | in pipelines: 79(GETNEXT), 82(OPEN)
| | |
| | |--F105:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=19 plan-id=20 cohort-id=10
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
-| | | | runtime filters: RF045[min_max] <- tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 180:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=88 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=88 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 82(GETNEXT)
| | | |
-| | | F54:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 82:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F54:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 82:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=88 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=88 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 82(GETNEXT)
| | |
| | 81:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=20
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_2.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_2.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_2.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_2.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=84,86 row-size=377B cardinality=1.99G(filtered from 2.16G) cost=901231051
+| | | tuple-ids=84,86 row-size=344B cardinality=1.99G cost=870015958
| | | in pipelines: 79(GETNEXT), 80(OPEN)
| | |
| | |--F106:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=20 plan-id=21 cohort-id=10
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
+| | | | runtime filters: RF047[min_max] <- tpcds_partitioned_parquet_snap.customer_10.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 179:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=86 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=86 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 80(GETNEXT)
| | | |
-| | | F53:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 80:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F53:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 80:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=86 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=86 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 80(GETNEXT)
| | |
| | 79:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
| | HDFS partitions=1824/1824 files=1824 size=145.75GB
-| | runtime filters: RF045[min_max] -> tpcds_partitioned_parquet_snap.web_sales_2.ws_bill_customer_sk
+| | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.web_sales_2.ws_bill_customer_sk
| | stored statistics:
| | table: rows=2.16G size=145.75GB
| | partitions: 1824/1824 rows=2.16G
@@ -4251,7 +4251,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | F47:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
| | Per-Instance Resources: mem-estimate=4.26GB mem-reservation=35.00MB thread-reservation=1
-| | max-parallelism=1831 segment-costs=[35653096274, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1831 segment-costs=[35588885488, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 78:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.catalog_sales_2.cs_ext_list_price, tpcds_partitioned_parquet_snap.catalog_sales_2.cs_ext_wholesale_cost), tpcds_partitioned_parquet_snap.catalog_sales_2.cs_ext_discount_amt), tpcds_partitioned_parquet_snap.catalog_sales_2.cs_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_9.c_customer_id, tpcds_partitioned_parquet_snap.customer_9.c_first_name, tpcds_partitioned_parquet_snap.customer_9.c_last_name, tpcds_partitioned_parquet_snap.customer_9.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_9.c_birth_country, tpcds_partitioned_parquet_snap.customer_9.c_login, tpcds_partitioned_parquet_snap.customer_9.c_email_address, tpcds_partitioned_parquet_snap.date_dim_9.d_year
@@ -4261,76 +4261,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 77:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=17
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_9.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_9.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=76,78,80 row-size=582B cardinality=3.97G cost=1735792939
| | | in pipelines: 73(GETNEXT), 76(OPEN)
| | |
| | |--F103:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=17 plan-id=18 cohort-id=09
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
-| | | | runtime filters: RF040[bloom] <- tpcds_partitioned_parquet_snap.customer_9.c_customer_sk, RF041[min_max] <- tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_9.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 176:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=80 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=80 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 76(GETNEXT)
| | | |
-| | | F49:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 76:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F49:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 76:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=80 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=80 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 76(GETNEXT)
| | |
| | 75:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=18
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_9.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_9.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=76,78 row-size=377B cardinality=3.97G(filtered from 4.32G) cost=1800003725
+| | | tuple-ids=76,78 row-size=344B cardinality=3.97G cost=1735792939
| | | in pipelines: 73(GETNEXT), 74(OPEN)
| | |
| | |--F104:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=18 plan-id=19 cohort-id=09
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_9.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
+| | | | runtime filters: RF042[bloom] <- tpcds_partitioned_parquet_snap.customer_9.c_customer_sk, RF043[min_max] <- tpcds_partitioned_parquet_snap.customer_9.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 175:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=78 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=78 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 74(GETNEXT)
| | | |
-| | | F48:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 74:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F48:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 74:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=78 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=78 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 74(GETNEXT)
| | |
| | 73:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
| | HDFS partitions=1831/1831 files=1831 size=280.96GB
-| | runtime filters: RF041[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk, RF040[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk
+| | runtime filters: RF043[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk, RF042[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_bill_customer_sk
| | stored statistics:
| | table: rows=4.32G size=280.96GB
| | partitions: 1831/1831 rows=4.32G
@@ -4355,7 +4355,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| F43:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
| Per-Instance Resources: mem-estimate=4.26GB mem-reservation=42.00MB thread-reservation=1
-| max-parallelism=1824 segment-costs=[65629013155, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| max-parallelism=1824 segment-costs=[65500594865, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| 72:AGGREGATE [STREAMING]
| | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.store_sales_2.ss_ext_list_price, tpcds_partitioned_parquet_snap.store_sales_2.ss_ext_wholesale_cost), tpcds_partitioned_parquet_snap.store_sales_2.ss_ext_discount_amt), tpcds_partitioned_parquet_snap.store_sales_2.ss_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | group by: tpcds_partitioned_parquet_snap.customer_8.c_customer_id, tpcds_partitioned_parquet_snap.customer_8.c_first_name, tpcds_partitioned_parquet_snap.customer_8.c_last_name, tpcds_partitioned_parquet_snap.customer_8.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_8.c_birth_country, tpcds_partitioned_parquet_snap.customer_8.c_login, tpcds_partitioned_parquet_snap.customer_8.c_email_address, tpcds_partitioned_parquet_snap.date_dim_8.d_year
@@ -4365,76 +4365,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| |
| 71:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=15
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_8.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_2.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_8.d_date_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=69,71,73 row-size=538B cardinality=7.93G cost=3471497176
| | in pipelines: 67(GETNEXT), 70(OPEN)
| |
| |--F101:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | | max-parallelism=10 segment-costs=[69869990]
+| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[170129]
| | JOIN BUILD
| | | join-table-id=15 plan-id=16 cohort-id=08
-| | | build expressions: tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
-| | | runtime filters: RF036[bloom] <- tpcds_partitioned_parquet_snap.customer_8.c_customer_sk, RF037[min_max] <- tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_8.d_date_sk
+| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | |
| | 172:EXCHANGE [BROADCAST]
-| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=73 row-size=204B cardinality=30.00M cost=39869990
+| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=73 row-size=237B cardinality=73.05K cost=97080
| | | in pipelines: 70(GETNEXT)
| | |
-| | F45:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[64027278]
-| | 70:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| | F45:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | max-parallelism=1 segment-costs=[158950]
+| | 70:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=73 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=73 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 70(GETNEXT)
| |
| 69:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=16
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_8.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_2.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_8.d_date_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=69,71 row-size=333B cardinality=7.93G(filtered from 8.64G) cost=3599915466
+| | tuple-ids=69,71 row-size=300B cardinality=7.93G cost=3471497176
| | in pipelines: 67(GETNEXT), 68(OPEN)
| |
| |--F102:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[170129]
+| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | | max-parallelism=10 segment-costs=[69869990]
| | JOIN BUILD
| | | join-table-id=16 plan-id=17 cohort-id=08
-| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_8.d_date_sk
-| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | build expressions: tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
+| | | runtime filters: RF038[bloom] <- tpcds_partitioned_parquet_snap.customer_8.c_customer_sk, RF039[min_max] <- tpcds_partitioned_parquet_snap.customer_8.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | |
| | 171:EXCHANGE [BROADCAST]
-| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=71 row-size=237B cardinality=73.05K cost=97080
+| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=71 row-size=204B cardinality=30.00M cost=39869990
| | | in pipelines: 68(GETNEXT)
| | |
-| | F44:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | max-parallelism=1 segment-costs=[158950]
-| | 68:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| | F44:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[64027278]
+| | 68:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=71 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=71 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 68(GETNEXT)
| |
| 67:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
| HDFS partitions=1824/1824 files=1824 size=389.90GB
-| runtime filters: RF037[min_max] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk, RF036[bloom] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk
+| runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk, RF038[bloom] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_customer_sk
| stored statistics:
| table: rows=8.64G size=389.90GB
| partitions: 1824/1824 rows=8.64G
@@ -4467,11 +4467,11 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| |
| F42:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Instance Resources: mem-estimate=4.23GB mem-reservation=34.00MB thread-reservation=1
-| max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 49605428499] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+| max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 37772016915] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
| 63:SELECT
-| | predicates: DYEAR = CAST(1999 AS INT), SALE_TYPE = 'w', YEAR_TOTAL > CAST(0 AS DECIMAL(3,0))
+| | predicates: DYEAR = add(CAST(1999 AS INT), CAST(1 AS INT)), SALE_TYPE = 'c'
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=68 row-size=116B cardinality=1.18G cost=35500236800
+| | tuple-ids=68 row-size=116B cardinality=1.18G cost=23666825216
| | in pipelines: 161(GETNEXT), 165(GETNEXT), 169(GETNEXT)
| |
| 43:UNION
@@ -4494,7 +4494,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | F38:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=2.19GB mem-reservation=34.26MB thread-reservation=1
-| | max-parallelism=1824 segment-costs=[17858335975, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1824 segment-costs=[17827120882, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 62:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.web_sales_1.ws_ext_list_price, tpcds_partitioned_parquet_snap.web_sales_1.ws_ext_wholesale_cost), tpcds_partitioned_parquet_snap.web_sales_1.ws_ext_discount_amt), tpcds_partitioned_parquet_snap.web_sales_1.ws_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_7.c_customer_id, tpcds_partitioned_parquet_snap.customer_7.c_first_name, tpcds_partitioned_parquet_snap.customer_7.c_last_name, tpcds_partitioned_parquet_snap.customer_7.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_7.c_birth_country, tpcds_partitioned_parquet_snap.customer_7.c_login, tpcds_partitioned_parquet_snap.customer_7.c_email_address, tpcds_partitioned_parquet_snap.date_dim_7.d_year
@@ -4504,76 +4504,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 61:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=26
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_1.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_1.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_1.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_7.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_1.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_7.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=61,63,65 row-size=582B cardinality=1.99G cost=870015958
| | | in pipelines: 57(GETNEXT), 60(OPEN)
| | |
| | |--F112:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=26 plan-id=27 cohort-id=13
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
-| | | | runtime filters: RF033[min_max] <- tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_7.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 167:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=65 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=65 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 60(GETNEXT)
| | | |
-| | | F40:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 60:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F40:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 60:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=65 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=65 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 60(GETNEXT)
| | |
| | 59:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=27
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_1.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_7.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_1.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_7.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_1.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_1.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=61,63 row-size=377B cardinality=1.99G(filtered from 2.16G) cost=901231051
+| | | tuple-ids=61,63 row-size=344B cardinality=1.99G cost=870015958
| | | in pipelines: 57(GETNEXT), 58(OPEN)
| | |
| | |--F113:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=27 plan-id=28 cohort-id=13
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_7.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
+| | | | runtime filters: RF035[min_max] <- tpcds_partitioned_parquet_snap.customer_7.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 166:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=63 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=63 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 58(GETNEXT)
| | | |
-| | | F39:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 58:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F39:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 58:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=63 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=63 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 58(GETNEXT)
| | |
| | 57:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
| | HDFS partitions=1824/1824 files=1824 size=145.75GB
-| | runtime filters: RF033[min_max] -> tpcds_partitioned_parquet_snap.web_sales_1.ws_bill_customer_sk
+| | runtime filters: RF035[min_max] -> tpcds_partitioned_parquet_snap.web_sales_1.ws_bill_customer_sk
| | stored statistics:
| | table: rows=2.16G size=145.75GB
| | partitions: 1824/1824 rows=2.16G
@@ -4603,7 +4603,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | F33:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
| | Per-Instance Resources: mem-estimate=4.26GB mem-reservation=35.00MB thread-reservation=1
-| | max-parallelism=1831 segment-costs=[35653096274, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1831 segment-costs=[35588885488, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 56:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.catalog_sales_1.cs_ext_list_price, tpcds_partitioned_parquet_snap.catalog_sales_1.cs_ext_wholesale_cost), tpcds_partitioned_parquet_snap.catalog_sales_1.cs_ext_discount_amt), tpcds_partitioned_parquet_snap.catalog_sales_1.cs_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_6.c_customer_id, tpcds_partitioned_parquet_snap.customer_6.c_first_name, tpcds_partitioned_parquet_snap.customer_6.c_last_name, tpcds_partitioned_parquet_snap.customer_6.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_6.c_birth_country, tpcds_partitioned_parquet_snap.customer_6.c_login, tpcds_partitioned_parquet_snap.customer_6.c_email_address, tpcds_partitioned_parquet_snap.date_dim_6.d_year
@@ -4613,76 +4613,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 55:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=24
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=53,55,57 row-size=582B cardinality=3.97G cost=1735792939
| | | in pipelines: 51(GETNEXT), 54(OPEN)
| | |
| | |--F110:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=24 plan-id=25 cohort-id=12
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
-| | | | runtime filters: RF028[bloom] <- tpcds_partitioned_parquet_snap.customer_6.c_customer_sk, RF029[min_max] <- tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 163:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=57 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=57 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 54(GETNEXT)
| | | |
-| | | F35:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 54:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F35:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 54:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=57 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=57 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 54(GETNEXT)
| | |
| | 53:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=25
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=53,55 row-size=377B cardinality=3.97G(filtered from 4.32G) cost=1800003725
+| | | tuple-ids=53,55 row-size=344B cardinality=3.97G cost=1735792939
| | | in pipelines: 51(GETNEXT), 52(OPEN)
| | |
| | |--F111:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=25 plan-id=26 cohort-id=12
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
+| | | | runtime filters: RF030[bloom] <- tpcds_partitioned_parquet_snap.customer_6.c_customer_sk, RF031[min_max] <- tpcds_partitioned_parquet_snap.customer_6.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 162:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=55 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=55 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 52(GETNEXT)
| | | |
-| | | F34:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 52:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F34:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 52:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=55 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=55 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 52(GETNEXT)
| | |
| | 51:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
| | HDFS partitions=1831/1831 files=1831 size=280.96GB
-| | runtime filters: RF029[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk, RF028[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk
+| | runtime filters: RF031[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk, RF030[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_bill_customer_sk
| | stored statistics:
| | table: rows=4.32G size=280.96GB
| | partitions: 1831/1831 rows=4.32G
@@ -4707,7 +4707,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| F29:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
| Per-Instance Resources: mem-estimate=4.26GB mem-reservation=42.00MB thread-reservation=1
-| max-parallelism=1824 segment-costs=[65629013155, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| max-parallelism=1824 segment-costs=[65500594865, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| 50:AGGREGATE [STREAMING]
| | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.store_sales_1.ss_ext_list_price, tpcds_partitioned_parquet_snap.store_sales_1.ss_ext_wholesale_cost), tpcds_partitioned_parquet_snap.store_sales_1.ss_ext_discount_amt), tpcds_partitioned_parquet_snap.store_sales_1.ss_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | group by: tpcds_partitioned_parquet_snap.customer_5.c_customer_id, tpcds_partitioned_parquet_snap.customer_5.c_first_name, tpcds_partitioned_parquet_snap.customer_5.c_last_name, tpcds_partitioned_parquet_snap.customer_5.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_5.c_birth_country, tpcds_partitioned_parquet_snap.customer_5.c_login, tpcds_partitioned_parquet_snap.customer_5.c_email_address, tpcds_partitioned_parquet_snap.date_dim_5.d_year
@@ -4717,76 +4717,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| |
| 49:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=22
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_1.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_5.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_1.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_5.d_date_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=46,48,50 row-size=538B cardinality=7.93G cost=3471497176
| | in pipelines: 45(GETNEXT), 48(OPEN)
| |
| |--F108:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | | max-parallelism=10 segment-costs=[69869990]
+| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[170129]
| | JOIN BUILD
| | | join-table-id=22 plan-id=23 cohort-id=11
-| | | build expressions: tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
-| | | runtime filters: RF024[bloom] <- tpcds_partitioned_parquet_snap.customer_5.c_customer_sk, RF025[min_max] <- tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_5.d_date_sk
+| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | |
| | 159:EXCHANGE [BROADCAST]
-| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=50 row-size=204B cardinality=30.00M cost=39869990
+| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=50 row-size=237B cardinality=73.05K cost=97080
| | | in pipelines: 48(GETNEXT)
| | |
-| | F31:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[64027278]
-| | 48:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| | F31:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | max-parallelism=1 segment-costs=[158950]
+| | 48:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=50 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=50 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 48(GETNEXT)
| |
| 47:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=23
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_1.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_5.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_1.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_5.d_date_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=46,48 row-size=333B cardinality=7.93G(filtered from 8.64G) cost=3599915466
+| | tuple-ids=46,48 row-size=300B cardinality=7.93G cost=3471497176
| | in pipelines: 45(GETNEXT), 46(OPEN)
| |
| |--F109:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[170129]
+| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | | max-parallelism=10 segment-costs=[69869990]
| | JOIN BUILD
| | | join-table-id=23 plan-id=24 cohort-id=11
-| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_5.d_date_sk
-| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | build expressions: tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
+| | | runtime filters: RF026[bloom] <- tpcds_partitioned_parquet_snap.customer_5.c_customer_sk, RF027[min_max] <- tpcds_partitioned_parquet_snap.customer_5.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | |
| | 158:EXCHANGE [BROADCAST]
-| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=48 row-size=237B cardinality=73.05K cost=97080
+| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=48 row-size=204B cardinality=30.00M cost=39869990
| | | in pipelines: 46(GETNEXT)
| | |
-| | F30:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | max-parallelism=1 segment-costs=[158950]
-| | 46:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| | F30:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[64027278]
+| | 46:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=48 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=48 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 46(GETNEXT)
| |
| 45:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
| HDFS partitions=1824/1824 files=1824 size=389.90GB
-| runtime filters: RF025[min_max] -> tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk, RF024[bloom] -> tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk
+| runtime filters: RF027[min_max] -> tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk, RF026[bloom] -> tpcds_partitioned_parquet_snap.store_sales_1.ss_customer_sk
| stored statistics:
| table: rows=8.64G size=389.90GB
| partitions: 1824/1824 rows=8.64G
@@ -4846,7 +4846,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | F23:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=2.19GB mem-reservation=34.26MB thread-reservation=1
-| | max-parallelism=1824 segment-costs=[17858335975, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1824 segment-costs=[17827120882, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 40:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.web_sales_0.ws_ext_list_price, tpcds_partitioned_parquet_snap.web_sales_0.ws_ext_wholesale_cost), tpcds_partitioned_parquet_snap.web_sales_0.ws_ext_discount_amt), tpcds_partitioned_parquet_snap.web_sales_0.ws_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_4.c_customer_id, tpcds_partitioned_parquet_snap.customer_4.c_first_name, tpcds_partitioned_parquet_snap.customer_4.c_last_name, tpcds_partitioned_parquet_snap.customer_4.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_4.c_birth_country, tpcds_partitioned_parquet_snap.customer_4.c_login, tpcds_partitioned_parquet_snap.customer_4.c_email_address, tpcds_partitioned_parquet_snap.date_dim_4.d_year
@@ -4856,76 +4856,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 39:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=33
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_0.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_0.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_0.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_4.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_0.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_4.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=38,40,42 row-size=582B cardinality=1.99G cost=870015958
| | | in pipelines: 35(GETNEXT), 38(OPEN)
| | |
| | |--F119:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=33 plan-id=34 cohort-id=16
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
-| | | | runtime filters: RF021[min_max] <- tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_4.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 153:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=42 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=42 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 38(GETNEXT)
| | | |
-| | | F25:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 38:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F25:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 38:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=42 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=42 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 38(GETNEXT)
| | |
| | 37:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=34
-| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_0.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_4.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_0.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_4.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_0.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_0.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=38,40 row-size=377B cardinality=1.99G(filtered from 2.16G) cost=901231051
+| | | tuple-ids=38,40 row-size=344B cardinality=1.99G cost=870015958
| | | in pipelines: 35(GETNEXT), 36(OPEN)
| | |
| | |--F120:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=34 plan-id=35 cohort-id=16
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_4.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
+| | | | runtime filters: RF023[min_max] <- tpcds_partitioned_parquet_snap.customer_4.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 152:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=40 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=40 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 36(GETNEXT)
| | | |
-| | | F24:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 36:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F24:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 36:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=40 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=40 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 36(GETNEXT)
| | |
| | 35:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
| | HDFS partitions=1824/1824 files=1824 size=145.75GB
-| | runtime filters: RF021[min_max] -> tpcds_partitioned_parquet_snap.web_sales_0.ws_bill_customer_sk
+| | runtime filters: RF023[min_max] -> tpcds_partitioned_parquet_snap.web_sales_0.ws_bill_customer_sk
| | stored statistics:
| | table: rows=2.16G size=145.75GB
| | partitions: 1824/1824 rows=2.16G
@@ -4955,7 +4955,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | F18:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
| | Per-Instance Resources: mem-estimate=4.26GB mem-reservation=35.00MB thread-reservation=1
-| | max-parallelism=1831 segment-costs=[35653096274, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| | max-parallelism=1831 segment-costs=[35588885488, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| | 34:AGGREGATE [STREAMING]
| | | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.catalog_sales_0.cs_ext_list_price, tpcds_partitioned_parquet_snap.catalog_sales_0.cs_ext_wholesale_cost), tpcds_partitioned_parquet_snap.catalog_sales_0.cs_ext_discount_amt), tpcds_partitioned_parquet_snap.catalog_sales_0.cs_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | | group by: tpcds_partitioned_parquet_snap.customer_3.c_customer_id, tpcds_partitioned_parquet_snap.customer_3.c_first_name, tpcds_partitioned_parquet_snap.customer_3.c_last_name, tpcds_partitioned_parquet_snap.customer_3.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_3.c_birth_country, tpcds_partitioned_parquet_snap.customer_3.c_login, tpcds_partitioned_parquet_snap.customer_3.c_email_address, tpcds_partitioned_parquet_snap.date_dim_3.d_year
@@ -4965,76 +4965,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| | |
| | 33:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=31
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_3.d_date_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_3.d_date_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=30,32,34 row-size=582B cardinality=3.97G cost=1735792939
| | | in pipelines: 29(GETNEXT), 32(OPEN)
| | |
| | |--F117:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | | | max-parallelism=10 segment-costs=[69869990]
+| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | | max-parallelism=10 segment-costs=[170129]
| | | JOIN BUILD
| | | | join-table-id=31 plan-id=32 cohort-id=15
-| | | | build expressions: tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
-| | | | runtime filters: RF016[bloom] <- tpcds_partitioned_parquet_snap.customer_3.c_customer_sk, RF017[min_max] <- tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
-| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_3.d_date_sk
+| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | | |
| | | 149:EXCHANGE [BROADCAST]
-| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=34 row-size=204B cardinality=30.00M cost=39869990
+| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=34 row-size=237B cardinality=73.05K cost=97080
| | | | in pipelines: 32(GETNEXT)
| | | |
-| | | F20:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[64027278]
-| | | 32:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=1.55GB
+| | | F20:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | | max-parallelism=1 segment-costs=[158950]
+| | | 32:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=2.17MB
| | | stored statistics:
-| | | table: rows=30.00M size=1.55GB
+| | | table: rows=73.05K size=2.17MB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | | tuple-ids=34 row-size=204B cardinality=30.00M cost=46823813
+| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | | tuple-ids=34 row-size=237B cardinality=73.05K cost=110600
| | | in pipelines: 32(GETNEXT)
| | |
| | 31:HASH JOIN [INNER JOIN, BROADCAST]
| | | hash-table-id=32
-| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_3.d_date_sk
-| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_3.d_date_sk
+| | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
+| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
| | | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=30,32 row-size=377B cardinality=3.97G(filtered from 4.32G) cost=1800003725
+| | | tuple-ids=30,32 row-size=344B cardinality=3.97G cost=1735792939
| | | in pipelines: 29(GETNEXT), 30(OPEN)
| | |
| | |--F118:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | | max-parallelism=10 segment-costs=[170129]
+| | | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | | | max-parallelism=10 segment-costs=[69869990]
| | | JOIN BUILD
| | | | join-table-id=32 plan-id=33 cohort-id=15
-| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_3.d_date_sk
-| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | | build expressions: tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
+| | | | runtime filters: RF018[bloom] <- tpcds_partitioned_parquet_snap.customer_3.c_customer_sk, RF019[min_max] <- tpcds_partitioned_parquet_snap.customer_3.c_customer_sk
+| | | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | | |
| | | 148:EXCHANGE [BROADCAST]
-| | | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=32 row-size=237B cardinality=73.05K cost=97080
+| | | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | | tuple-ids=32 row-size=204B cardinality=30.00M cost=39869990
| | | | in pipelines: 30(GETNEXT)
| | | |
-| | | F19:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | | max-parallelism=1 segment-costs=[158950]
-| | | 30:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | | HDFS partitions=1/1 files=1 size=2.17MB
+| | | F19:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[64027278]
+| | | 30:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | | HDFS partitions=1/1 files=1 size=1.55GB
| | | stored statistics:
-| | | table: rows=73.05K size=2.17MB
+| | | table: rows=30.00M size=1.55GB
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | | tuple-ids=32 row-size=237B cardinality=73.05K cost=110600
+| | | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | | tuple-ids=32 row-size=204B cardinality=30.00M cost=46823813
| | | in pipelines: 30(GETNEXT)
| | |
| | 29:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
| | HDFS partitions=1831/1831 files=1831 size=280.96GB
-| | runtime filters: RF017[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk, RF016[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk
+| | runtime filters: RF019[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk, RF018[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_0.cs_bill_customer_sk
| | stored statistics:
| | table: rows=4.32G size=280.96GB
| | partitions: 1831/1831 rows=4.32G
@@ -5059,7 +5059,7 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| F14:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
| Per-Instance Resources: mem-estimate=4.26GB mem-reservation=42.00MB thread-reservation=1
-| max-parallelism=1824 segment-costs=[65629013155, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| max-parallelism=1824 segment-costs=[65500594865, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| 28:AGGREGATE [STREAMING]
| | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.store_sales_0.ss_ext_list_price, tpcds_partitioned_parquet_snap.store_sales_0.ss_ext_wholesale_cost), tpcds_partitioned_parquet_snap.store_sales_0.ss_ext_discount_amt), tpcds_partitioned_parquet_snap.store_sales_0.ss_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | group by: tpcds_partitioned_parquet_snap.customer_2.c_customer_id, tpcds_partitioned_parquet_snap.customer_2.c_first_name, tpcds_partitioned_parquet_snap.customer_2.c_last_name, tpcds_partitioned_parquet_snap.customer_2.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_2.c_birth_country, tpcds_partitioned_parquet_snap.customer_2.c_login, tpcds_partitioned_parquet_snap.customer_2.c_email_address, tpcds_partitioned_parquet_snap.date_dim_2.d_year
@@ -5069,76 +5069,76 @@ max-parallelism=2350 segment-costs=[23461227104, 157] cpu-comparison-result=2160
| |
| 27:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=29
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_0.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=23,25,27 row-size=538B cardinality=7.93G cost=3471497176
| | in pipelines: 23(GETNEXT), 26(OPEN)
| |
| |--F115:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | | max-parallelism=10 segment-costs=[69869990]
+| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[170129]
| | JOIN BUILD
| | | join-table-id=29 plan-id=30 cohort-id=14
-| | | build expressions: tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
-| | | runtime filters: RF012[bloom] <- tpcds_partitioned_parquet_snap.customer_2.c_customer_sk, RF013[min_max] <- tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
+| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | |
| | 145:EXCHANGE [BROADCAST]
-| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=27 row-size=204B cardinality=30.00M cost=39869990
+| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=27 row-size=237B cardinality=73.05K cost=97080
| | | in pipelines: 26(GETNEXT)
| | |
-| | F16:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[64027278]
-| | 26:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| | F16:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | max-parallelism=1 segment-costs=[158950]
+| | 26:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=27 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=27 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 26(GETNEXT)
| |
| 25:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=30
-| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_0.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk = tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=23,25 row-size=333B cardinality=7.93G(filtered from 8.64G) cost=3599915466
+| | tuple-ids=23,25 row-size=300B cardinality=7.93G cost=3471497176
| | in pipelines: 23(GETNEXT), 24(OPEN)
| |
| |--F116:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[170129]
+| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | | max-parallelism=10 segment-costs=[69869990]
| | JOIN BUILD
| | | join-table-id=30 plan-id=31 cohort-id=14
-| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
-| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | build expressions: tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
+| | | runtime filters: RF014[bloom] <- tpcds_partitioned_parquet_snap.customer_2.c_customer_sk, RF015[min_max] <- tpcds_partitioned_parquet_snap.customer_2.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | |
| | 144:EXCHANGE [BROADCAST]
-| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=25 row-size=237B cardinality=73.05K cost=97080
+| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=25 row-size=204B cardinality=30.00M cost=39869990
| | | in pipelines: 24(GETNEXT)
| | |
-| | F15:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | max-parallelism=1 segment-costs=[158950]
-| | 24:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| | F15:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[64027278]
+| | 24:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=25 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=25 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 24(GETNEXT)
| |
| 23:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
| HDFS partitions=1824/1824 files=1824 size=389.90GB
-| runtime filters: RF013[min_max] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk, RF012[bloom] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk
+| runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk, RF014[bloom] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk
| stored statistics:
| table: rows=8.64G size=389.90GB
| partitions: 1824/1824 rows=8.64G
@@ -5157,7 +5157,7 @@ F13:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
Per-Instance Resources: mem-estimate=4.23GB mem-reservation=34.00MB thread-reservation=1
max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 37772016915] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
20:SELECT
-| predicates: DYEAR = add(CAST(1999 AS INT), CAST(1 AS INT)), SALE_TYPE = 'w'
+| predicates: DYEAR = add(CAST(1999 AS INT), CAST(1 AS INT)), SALE_TYPE = 's'
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=22 row-size=116B cardinality=1.18G cost=23666825216
| in pipelines: 135(GETNEXT), 139(GETNEXT), 143(GETNEXT)
@@ -5182,7 +5182,7 @@ max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 377720
| |
| F09:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Instance Resources: mem-estimate=2.19GB mem-reservation=34.26MB thread-reservation=1
-| max-parallelism=1824 segment-costs=[17858335975, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| max-parallelism=1824 segment-costs=[17827120882, 22676121640] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| 19:AGGREGATE [STREAMING]
| | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.web_sales.ws_ext_list_price, tpcds_partitioned_parquet_snap.web_sales.ws_ext_wholesale_cost), tpcds_partitioned_parquet_snap.web_sales.ws_ext_discount_amt), tpcds_partitioned_parquet_snap.web_sales.ws_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | group by: tpcds_partitioned_parquet_snap.customer_1.c_customer_id, tpcds_partitioned_parquet_snap.customer_1.c_first_name, tpcds_partitioned_parquet_snap.customer_1.c_last_name, tpcds_partitioned_parquet_snap.customer_1.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_1.c_birth_country, tpcds_partitioned_parquet_snap.customer_1.c_login, tpcds_partitioned_parquet_snap.customer_1.c_email_address, tpcds_partitioned_parquet_snap.date_dim_1.d_year
@@ -5192,76 +5192,76 @@ max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 377720
| |
| 18:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=39
-| | hash predicates: tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.web_sales.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_1.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_1.d_date_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=15,17,19 row-size=582B cardinality=1.99G cost=870015958
| | in pipelines: 14(GETNEXT), 17(OPEN)
| |
| |--F125:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[69869990]
+| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[170129]
| | JOIN BUILD
| | | join-table-id=39 plan-id=40 cohort-id=01
-| | | build expressions: tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
-| | | runtime filters: RF009[min_max] <- tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_1.d_date_sk
+| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | |
| | 141:EXCHANGE [BROADCAST]
-| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=19 row-size=204B cardinality=30.00M cost=39869990
+| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=19 row-size=237B cardinality=73.05K cost=97080
| | | in pipelines: 17(GETNEXT)
| | |
-| | F11:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[64027278]
-| | 17:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| | F11:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | max-parallelism=1 segment-costs=[158950]
+| | 17:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=19 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=19 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 17(GETNEXT)
| |
| 16:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=40
-| | hash predicates: tpcds_partitioned_parquet_snap.web_sales.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_1.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales.ws_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_1.d_date_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=15,17 row-size=377B cardinality=1.99G(filtered from 2.16G) cost=901231051
+| | tuple-ids=15,17 row-size=344B cardinality=1.99G cost=870015958
| | in pipelines: 14(GETNEXT), 15(OPEN)
| |
| |--F126:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[170129]
+| | | Per-Instance Resources: mem-estimate=6.47GB mem-reservation=408.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[69869990]
| | JOIN BUILD
| | | join-table-id=40 plan-id=41 cohort-id=01
-| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_1.d_date_sk
-| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | build expressions: tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
+| | | runtime filters: RF011[min_max] <- tpcds_partitioned_parquet_snap.customer_1.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | |
| | 140:EXCHANGE [BROADCAST]
-| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=17 row-size=237B cardinality=73.05K cost=97080
+| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=17 row-size=204B cardinality=30.00M cost=39869990
| | | in pipelines: 15(GETNEXT)
| | |
-| | F10:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | max-parallelism=1 segment-costs=[158950]
-| | 15:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| | F10:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[64027278]
+| | 15:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=17 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=17 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 15(GETNEXT)
| |
| 14:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
| HDFS partitions=1824/1824 files=1824 size=145.75GB
-| runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk
+| runtime filters: RF011[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk
| stored statistics:
| table: rows=2.16G size=145.75GB
| partitions: 1824/1824 rows=2.16G
@@ -5291,7 +5291,7 @@ max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 377720
| F04:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
| Per-Instance Resources: mem-estimate=4.26GB mem-reservation=35.00MB thread-reservation=1
-| max-parallelism=1831 segment-costs=[35653096274, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+| max-parallelism=1831 segment-costs=[35588885488, 45241758471] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
| 13:AGGREGATE [STREAMING]
| | output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.catalog_sales.cs_ext_list_price, tpcds_partitioned_parquet_snap.catalog_sales.cs_ext_wholesale_cost), tpcds_partitioned_parquet_snap.catalog_sales.cs_ext_discount_amt), tpcds_partitioned_parquet_snap.catalog_sales.cs_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| | group by: tpcds_partitioned_parquet_snap.customer_0.c_customer_id, tpcds_partitioned_parquet_snap.customer_0.c_first_name, tpcds_partitioned_parquet_snap.customer_0.c_last_name, tpcds_partitioned_parquet_snap.customer_0.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer_0.c_birth_country, tpcds_partitioned_parquet_snap.customer_0.c_login, tpcds_partitioned_parquet_snap.customer_0.c_email_address, tpcds_partitioned_parquet_snap.date_dim_0.d_year
@@ -5301,76 +5301,76 @@ max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 377720
| |
| 12:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=37
-| | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=7,9,11 row-size=582B cardinality=3.97G cost=1735792939
| | in pipelines: 08(GETNEXT), 11(OPEN)
| |
| |--F123:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | | max-parallelism=10 segment-costs=[69869990]
+| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[170129]
| | JOIN BUILD
| | | join-table-id=37 plan-id=38 cohort-id=01
-| | | build expressions: tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
-| | | runtime filters: RF004[bloom] <- tpcds_partitioned_parquet_snap.customer_0.c_customer_sk, RF005[min_max] <- tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
-| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
+| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| | |
| | 137:EXCHANGE [BROADCAST]
-| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=11 row-size=204B cardinality=30.00M cost=39869990
+| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=11 row-size=237B cardinality=73.05K cost=97080
| | | in pipelines: 11(GETNEXT)
| | |
-| | F06:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[64027278]
-| | 11:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| | HDFS partitions=1/1 files=1 size=1.55GB
+| | F06:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | max-parallelism=1 segment-costs=[158950]
+| | 11:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | HDFS partitions=1/1 files=1 size=2.17MB
| | stored statistics:
-| | table: rows=30.00M size=1.55GB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=3.10M
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=11 row-size=204B cardinality=30.00M cost=46823813
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=11 row-size=237B cardinality=73.05K cost=110600
| | in pipelines: 11(GETNEXT)
| |
| 10:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=38
-| | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
-| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales.cs_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
+| | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
+| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk = tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=7,9 row-size=377B cardinality=3.97G(filtered from 4.32G) cost=1800003725
+| | tuple-ids=7,9 row-size=344B cardinality=3.97G cost=1735792939
| | in pipelines: 08(GETNEXT), 09(OPEN)
| |
| |--F124:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[170129]
+| | | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | | max-parallelism=10 segment-costs=[69869990]
| | JOIN BUILD
| | | join-table-id=38 plan-id=39 cohort-id=01
-| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
-| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | | build expressions: tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
+| | | runtime filters: RF006[bloom] <- tpcds_partitioned_parquet_snap.customer_0.c_customer_sk, RF007[min_max] <- tpcds_partitioned_parquet_snap.customer_0.c_customer_sk
+| | | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| | |
| | 136:EXCHANGE [BROADCAST]
-| | | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=9 row-size=237B cardinality=73.05K cost=97080
+| | | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=9 row-size=204B cardinality=30.00M cost=39869990
| | | in pipelines: 09(GETNEXT)
| | |
-| | F05:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | max-parallelism=1 segment-costs=[158950]
-| | 09:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | HDFS partitions=1/1 files=1 size=2.17MB
+| | F05:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[64027278]
+| | 09:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| | HDFS partitions=1/1 files=1 size=1.55GB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=30.00M size=1.55GB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=9 row-size=237B cardinality=73.05K cost=110600
+| | extrapolated-rows=disabled max-scan-range-rows=3.10M
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=9 row-size=204B cardinality=30.00M cost=46823813
| | in pipelines: 09(GETNEXT)
| |
| 08:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
| HDFS partitions=1831/1831 files=1831 size=280.96GB
-| runtime filters: RF005[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk, RF004[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk
+| runtime filters: RF007[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk, RF006[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk
| stored statistics:
| table: rows=4.32G size=280.96GB
| partitions: 1831/1831 rows=4.32G
@@ -5395,7 +5395,7 @@ max-parallelism=120 segment-costs=[44477605605, 26934229118, 13500002573, 377720
F00:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
Per-Host Shared Resources: mem-estimate=16.00MB mem-reservation=16.00MB thread-reservation=0 runtime-filters-memory=16.00MB
Per-Instance Resources: mem-estimate=4.26GB mem-reservation=42.00MB thread-reservation=1
-max-parallelism=1824 segment-costs=[65629013155, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
+max-parallelism=1824 segment-costs=[65500594865, 89974606443] cpu-comparison-result=120 [max(120 (self) vs 31 (sum children))]
07:AGGREGATE [STREAMING]
| output: sum(divide(add(subtract(subtract(tpcds_partitioned_parquet_snap.store_sales.ss_ext_list_price, tpcds_partitioned_parquet_snap.store_sales.ss_ext_wholesale_cost), tpcds_partitioned_parquet_snap.store_sales.ss_ext_discount_amt), tpcds_partitioned_parquet_snap.store_sales.ss_ext_sales_price), CAST(2 AS DECIMAL(3,0))))
| group by: tpcds_partitioned_parquet_snap.customer.c_customer_id, tpcds_partitioned_parquet_snap.customer.c_first_name, tpcds_partitioned_parquet_snap.customer.c_last_name, tpcds_partitioned_parquet_snap.customer.c_preferred_cust_flag, tpcds_partitioned_parquet_snap.customer.c_birth_country, tpcds_partitioned_parquet_snap.customer.c_login, tpcds_partitioned_parquet_snap.customer.c_email_address, tpcds_partitioned_parquet_snap.date_dim.d_year
@@ -5405,76 +5405,76 @@ max-parallelism=1824 segment-costs=[65629013155, 89974606443] cpu-comparison-res
|
06:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=35
-| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk = tpcds_partitioned_parquet_snap.customer.c_customer_sk
-| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk = tpcds_partitioned_parquet_snap.customer.c_customer_sk
+| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
| mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| tuple-ids=0,2,4 row-size=538B cardinality=7.93G cost=3471497176
| in pipelines: 02(GETNEXT), 05(OPEN)
|
|--F121:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
-| | max-parallelism=10 segment-costs=[69869990]
+| | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[170129]
| JOIN BUILD
| | join-table-id=35 plan-id=36 cohort-id=01
-| | build expressions: tpcds_partitioned_parquet_snap.customer.c_customer_sk
-| | runtime filters: RF000[bloom] <- tpcds_partitioned_parquet_snap.customer.c_customer_sk, RF001[min_max] <- tpcds_partitioned_parquet_snap.customer.c_customer_sk
-| | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
+| | build expressions: tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
| |
| 133:EXCHANGE [BROADCAST]
-| | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=4 row-size=204B cardinality=30.00M cost=39869990
+| | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=4 row-size=237B cardinality=73.05K cost=97080
| | in pipelines: 05(GETNEXT)
| |
-| F02:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
-| max-parallelism=10 segment-costs=[64027278]
-| 05:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-| HDFS partitions=1/1 files=1 size=1.55GB
+| F02:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| max-parallelism=1 segment-costs=[158950]
+| 05:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| HDFS partitions=1/1 files=1 size=2.17MB
| stored statistics:
-| table: rows=30.00M size=1.55GB
+| table: rows=73.05K size=2.17MB
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=3.10M
-| mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| tuple-ids=4 row-size=204B cardinality=30.00M cost=46823813
+| extrapolated-rows=disabled max-scan-range-rows=73.05K
+| mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| tuple-ids=4 row-size=237B cardinality=73.05K cost=110600
| in pipelines: 05(GETNEXT)
|
04:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=36
-| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk = tpcds_partitioned_parquet_snap.customer.c_customer_sk
+| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk = tpcds_partitioned_parquet_snap.customer.c_customer_sk
| mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=0,2 row-size=333B cardinality=7.93G(filtered from 8.64G) cost=3599915466
+| tuple-ids=0,2 row-size=300B cardinality=7.93G cost=3471497176
| in pipelines: 02(GETNEXT), 03(OPEN)
|
|--F122:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=418.24MB mem-reservation=408.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[170129]
+| | Per-Instance Resources: mem-estimate=6.49GB mem-reservation=424.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | max-parallelism=10 segment-costs=[69869990]
| JOIN BUILD
| | join-table-id=36 plan-id=37 cohort-id=01
-| | build expressions: tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=73049
+| | build expressions: tpcds_partitioned_parquet_snap.customer.c_customer_sk
+| | runtime filters: RF002[bloom] <- tpcds_partitioned_parquet_snap.customer.c_customer_sk, RF003[min_max] <- tpcds_partitioned_parquet_snap.customer.c_customer_sk
+| | mem-estimate=6.46GB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=30000000
| |
| 132:EXCHANGE [BROADCAST]
-| | mem-estimate=10.24MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=2 row-size=237B cardinality=73.05K cost=97080
+| | mem-estimate=12.04MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=2 row-size=204B cardinality=30.00M cost=39869990
| | in pipelines: 03(GETNEXT)
| |
-| F01:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[158950]
-| 03:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| HDFS partitions=1/1 files=1 size=2.17MB
+| F01:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| Per-Instance Resources: mem-estimate=16.81MB mem-reservation=1.00MB thread-reservation=1
+| max-parallelism=10 segment-costs=[64027278]
+| 03:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
+| HDFS partitions=1/1 files=1 size=1.55GB
| stored statistics:
-| table: rows=73.05K size=2.17MB
+| table: rows=30.00M size=1.55GB
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=73.05K
-| mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| tuple-ids=2 row-size=237B cardinality=73.05K cost=110600
+| extrapolated-rows=disabled max-scan-range-rows=3.10M
+| mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| tuple-ids=2 row-size=204B cardinality=30.00M cost=46823813
| in pipelines: 03(GETNEXT)
|
02:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
HDFS partitions=1824/1824 files=1824 size=389.90GB
- runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk
+ runtime filters: RF003[min_max] -> tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk
stored statistics:
table: rows=8.64G size=389.90GB
partitions: 1824/1824 rows=8.64G
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q05.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q05.test
index 5369ad822..4bf5e9924 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q05.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q05.test
@@ -274,30 +274,13 @@ PLAN-ROOT SINK
| | in pipelines: 17(GETNEXT), 11(OPEN), 12(OPEN)
| |
| 16:HASH JOIN [INNER JOIN]
-| | hash predicates: PAGE_SK = tpcds_partitioned_parquet_snap.catalog_page.cp_catalog_page_sk
-| | fk/pk conjuncts: assumed fk/pk
-| | mem-estimate=8.50MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
-| | tuple-ids=14,15,17 row-size=437B cardinality=4.75G cost=2080027968
-| | in pipelines: 11(GETNEXT), 12(GETNEXT), 15(OPEN)
-| |
-| |--15:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_page]
-| | HDFS partitions=1/1 files=1 size=2.24MB
-| | stored statistics:
-| | table: rows=36.00K size=2.24MB
-| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=36.00K
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=17 row-size=176B cardinality=36.00K cost=66466
-| | in pipelines: 15(GETNEXT)
-| |
-| 14:HASH JOIN [INNER JOIN]
| | hash predicates: DATE_SK = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
| | fk/pk conjuncts: assumed fk/pk
| | mem-estimate=2.88MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
-| | tuple-ids=14,15 row-size=261B cardinality=4.75G cost=2079999273
-| | in pipelines: 11(GETNEXT), 12(GETNEXT), 13(OPEN)
+| | tuple-ids=14,15,17 row-size=437B cardinality=4.75G cost=2079999273
+| | in pipelines: 11(GETNEXT), 12(GETNEXT), 15(OPEN)
| |
-| |--13:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| |--15:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
| | HDFS partitions=1/1 files=1 size=2.17MB
| | predicates: tpcds_partitioned_parquet_snap.date_dim_0.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim_0.d_date >= CAST('2000-08-19' AS DATE)
| | stored statistics:
@@ -307,7 +290,24 @@ PLAN-ROOT SINK
| | parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim_0.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim_0.d_date >= CAST('2000-08-19' AS DATE)
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim_0.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim_0.d_date >= CAST('2000-08-19' AS DATE)
| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=15 row-size=237B cardinality=7.30K cost=114705
+| | tuple-ids=17 row-size=237B cardinality=7.30K cost=114705
+| | in pipelines: 15(GETNEXT)
+| |
+| 14:HASH JOIN [INNER JOIN]
+| | hash predicates: PAGE_SK = tpcds_partitioned_parquet_snap.catalog_page.cp_catalog_page_sk
+| | fk/pk conjuncts: assumed fk/pk
+| | mem-estimate=8.50MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
+| | tuple-ids=14,15 row-size=200B cardinality=4.75G cost=2080027968
+| | in pipelines: 11(GETNEXT), 12(GETNEXT), 13(OPEN)
+| |
+| |--13:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_page]
+| | HDFS partitions=1/1 files=1 size=2.24MB
+| | stored statistics:
+| | table: rows=36.00K size=2.24MB
+| | columns: all
+| | extrapolated-rows=disabled max-scan-range-rows=36.00K
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=15 row-size=176B cardinality=36.00K cost=66466
| | in pipelines: 13(GETNEXT)
| |
| 10:UNION
@@ -345,40 +345,40 @@ PLAN-ROOT SINK
| in pipelines: 09(GETNEXT), 03(OPEN), 04(OPEN)
|
08:HASH JOIN [INNER JOIN]
-| hash predicates: DATE_SK = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| hash predicates: STORE_SK = tpcds_partitioned_parquet_snap.store.s_store_sk
| fk/pk conjuncts: assumed fk/pk
-| mem-estimate=2.88MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
-| tuple-ids=4,5,7 row-size=720B cardinality=9.50G cost=4159874763
+| mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=4,5,7 row-size=720B cardinality=9.50G cost=4159868808
| in pipelines: 03(GETNEXT), 04(GETNEXT), 07(OPEN)
|
-|--07:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
-| HDFS partitions=1/1 files=1 size=2.17MB
-| predicates: tpcds_partitioned_parquet_snap.date_dim.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim.d_date >= CAST('2000-08-19' AS DATE)
+|--07:SCAN HDFS [tpcds_partitioned_parquet_snap.store]
+| HDFS partitions=1/1 files=1 size=119.76KB
| stored statistics:
-| table: rows=73.05K size=2.17MB
+| table: rows=1.35K size=119.76KB
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=73.05K
-| parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim.d_date >= CAST('2000-08-19' AS DATE)
-| parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim.d_date >= CAST('2000-08-19' AS DATE)
-| mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| tuple-ids=7 row-size=237B cardinality=7.30K cost=114705
+| extrapolated-rows=disabled max-scan-range-rows=1.35K
+| mem-estimate=16.00MB mem-reservation=232.00KB thread-reservation=0
+| tuple-ids=7 row-size=459B cardinality=1.35K cost=4718
| in pipelines: 07(GETNEXT)
|
06:HASH JOIN [INNER JOIN]
-| hash predicates: STORE_SK = tpcds_partitioned_parquet_snap.store.s_store_sk
+| hash predicates: DATE_SK = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
| fk/pk conjuncts: assumed fk/pk
-| mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=4,5 row-size=483B cardinality=9.50G cost=4159868808
+| mem-estimate=2.88MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
+| tuple-ids=4,5 row-size=261B cardinality=9.50G cost=4159874763
| in pipelines: 03(GETNEXT), 04(GETNEXT), 05(OPEN)
|
-|--05:SCAN HDFS [tpcds_partitioned_parquet_snap.store]
-| HDFS partitions=1/1 files=1 size=119.76KB
+|--05:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+| HDFS partitions=1/1 files=1 size=2.17MB
+| predicates: tpcds_partitioned_parquet_snap.date_dim.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim.d_date >= CAST('2000-08-19' AS DATE)
| stored statistics:
-| table: rows=1.35K size=119.76KB
+| table: rows=73.05K size=2.17MB
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=1.35K
-| mem-estimate=16.00MB mem-reservation=232.00KB thread-reservation=0
-| tuple-ids=5 row-size=459B cardinality=1.35K cost=4718
+| extrapolated-rows=disabled max-scan-range-rows=73.05K
+| parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim.d_date >= CAST('2000-08-19' AS DATE)
+| parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim.d_date >= CAST('2000-08-19' AS DATE)
+| mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| tuple-ids=5 row-size=237B cardinality=7.30K cost=114705
| in pipelines: 05(GETNEXT)
|
02:UNION
@@ -677,73 +677,73 @@ max-parallelism=120 segment-costs=[86121, 4572835, 4190, 509107, 1136665] cpu-co
| |
| 16:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=02
-| | hash predicates: PAGE_SK = tpcds_partitioned_parquet_snap.catalog_page.cp_catalog_page_sk
+| | hash predicates: DATE_SK = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
| | fk/pk conjuncts: assumed fk/pk
-| | mem-estimate=0B mem-reservation=0B spill-buffer=512.00KB thread-reservation=0
+| | mem-estimate=0B mem-reservation=0B spill-buffer=128.00KB thread-reservation=0
| | tuple-ids=14,15,17 row-size=437B cardinality=4.75G cost=2079991968
| | in pipelines: 11(GETNEXT), 12(GETNEXT), 15(OPEN)
| |
| |--F26:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=108.23MB mem-reservation=102.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[83840]
+| | | Per-Instance Resources: mem-estimate=36.39MB mem-reservation=34.50MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[17005]
| | JOIN BUILD
| | | join-table-id=02 plan-id=03 cohort-id=02
-| | | build expressions: tpcds_partitioned_parquet_snap.catalog_page.cp_catalog_page_sk
-| | | mem-estimate=102.00MB mem-reservation=102.00MB spill-buffer=512.00KB thread-reservation=0 cost=36000
+| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
+| | | mem-estimate=34.50MB mem-reservation=34.50MB spill-buffer=128.00KB thread-reservation=0 cost=7305
| | |
| | 36:EXCHANGE [BROADCAST]
-| | | mem-estimate=6.23MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=17 row-size=176B cardinality=36.00K cost=47840
+| | | mem-estimate=1.89MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=17 row-size=237B cardinality=7.30K cost=9700
| | | in pipelines: 15(GETNEXT)
| | |
| | F10:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Instance Resources: mem-estimate=16.70MB mem-reservation=1.00MB thread-reservation=1
-| | max-parallelism=1 segment-costs=[84371]
-| | 15:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_page, RANDOM]
-| | HDFS partitions=1/1 files=1 size=2.24MB
+| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | max-parallelism=1 segment-costs=[119540]
+| | 15:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | HDFS partitions=1/1 files=1 size=2.17MB
+| | predicates: tpcds_partitioned_parquet_snap.date_dim_0.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim_0.d_date >= CAST('2000-08-19' AS DATE)
| | stored statistics:
-| | table: rows=36.00K size=2.24MB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=36.00K
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=17 row-size=176B cardinality=36.00K cost=66466
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim_0.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim_0.d_date >= CAST('2000-08-19' AS DATE)
+| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim_0.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim_0.d_date >= CAST('2000-08-19' AS DATE)
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=17 row-size=237B cardinality=7.30K cost=114705
| | in pipelines: 15(GETNEXT)
| |
| 14:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=03
-| | hash predicates: DATE_SK = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
+| | hash predicates: PAGE_SK = tpcds_partitioned_parquet_snap.catalog_page.cp_catalog_page_sk
| | fk/pk conjuncts: assumed fk/pk
-| | mem-estimate=0B mem-reservation=0B spill-buffer=128.00KB thread-reservation=0
-| | tuple-ids=14,15 row-size=261B cardinality=4.75G cost=2079991968
+| | mem-estimate=0B mem-reservation=0B spill-buffer=512.00KB thread-reservation=0
+| | tuple-ids=14,15 row-size=200B cardinality=4.75G cost=2079991968
| | in pipelines: 11(GETNEXT), 12(GETNEXT), 13(OPEN)
| |
| |--F27:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=36.39MB mem-reservation=34.50MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[17005]
+| | | Per-Instance Resources: mem-estimate=108.23MB mem-reservation=102.00MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[83840]
| | JOIN BUILD
| | | join-table-id=03 plan-id=04 cohort-id=02
-| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
-| | | mem-estimate=34.50MB mem-reservation=34.50MB spill-buffer=128.00KB thread-reservation=0 cost=7305
+| | | build expressions: tpcds_partitioned_parquet_snap.catalog_page.cp_catalog_page_sk
+| | | mem-estimate=102.00MB mem-reservation=102.00MB spill-buffer=512.00KB thread-reservation=0 cost=36000
| | |
| | 35:EXCHANGE [BROADCAST]
-| | | mem-estimate=1.89MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=15 row-size=237B cardinality=7.30K cost=9700
+| | | mem-estimate=6.23MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=15 row-size=176B cardinality=36.00K cost=47840
| | | in pipelines: 13(GETNEXT)
| | |
| | F09:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| | max-parallelism=1 segment-costs=[119540]
-| | 13:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| | HDFS partitions=1/1 files=1 size=2.17MB
-| | predicates: tpcds_partitioned_parquet_snap.date_dim_0.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim_0.d_date >= CAST('2000-08-19' AS DATE)
+| | Per-Instance Resources: mem-estimate=16.70MB mem-reservation=1.00MB thread-reservation=1
+| | max-parallelism=1 segment-costs=[84371]
+| | 13:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_page, RANDOM]
+| | HDFS partitions=1/1 files=1 size=2.24MB
| | stored statistics:
-| | table: rows=73.05K size=2.17MB
+| | table: rows=36.00K size=2.24MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=73.05K
-| | parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim_0.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim_0.d_date >= CAST('2000-08-19' AS DATE)
-| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim_0.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim_0.d_date >= CAST('2000-08-19' AS DATE)
-| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| | tuple-ids=15 row-size=237B cardinality=7.30K cost=114705
+| | extrapolated-rows=disabled max-scan-range-rows=36.00K
+| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
+| | tuple-ids=15 row-size=176B cardinality=36.00K cost=66466
| | in pipelines: 13(GETNEXT)
| |
| 10:UNION
@@ -797,73 +797,73 @@ max-parallelism=120 segment-costs=[16252682173, 523958] cpu-comparison-result=12
|
08:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=00
-| hash predicates: DATE_SK = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| hash predicates: STORE_SK = tpcds_partitioned_parquet_snap.store.s_store_sk
| fk/pk conjuncts: assumed fk/pk
-| mem-estimate=0B mem-reservation=0B spill-buffer=128.00KB thread-reservation=0
+| mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
| tuple-ids=4,5,7 row-size=720B cardinality=9.50G cost=4159867458
| in pipelines: 03(GETNEXT), 04(GETNEXT), 07(OPEN)
|
|--F24:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=36.39MB mem-reservation=34.50MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[17005]
+| | Per-Instance Resources: mem-estimate=24.29MB mem-reservation=23.25MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[3140]
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
-| | build expressions: tpcds_partitioned_parquet_snap.date_dim.d_date_sk
-| | mem-estimate=34.50MB mem-reservation=34.50MB spill-buffer=128.00KB thread-reservation=0 cost=7305
+| | build expressions: tpcds_partitioned_parquet_snap.store.s_store_sk
+| | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=1350
| |
| 32:EXCHANGE [BROADCAST]
-| | mem-estimate=1.89MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=7 row-size=237B cardinality=7.30K cost=9700
+| | mem-estimate=1.04MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=7 row-size=459B cardinality=1.35K cost=1790
| | in pipelines: 07(GETNEXT)
| |
| F04:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[119540]
-| 07:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-| HDFS partitions=1/1 files=1 size=2.17MB
-| predicates: tpcds_partitioned_parquet_snap.date_dim.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim.d_date >= CAST('2000-08-19' AS DATE)
+| Per-Instance Resources: mem-estimate=17.81MB mem-reservation=232.00KB thread-reservation=1
+| max-parallelism=1 segment-costs=[6419]
+| 07:SCAN HDFS [tpcds_partitioned_parquet_snap.store, RANDOM]
+| HDFS partitions=1/1 files=1 size=119.76KB
| stored statistics:
-| table: rows=73.05K size=2.17MB
+| table: rows=1.35K size=119.76KB
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=73.05K
-| parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim.d_date >= CAST('2000-08-19' AS DATE)
-| parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim.d_date >= CAST('2000-08-19' AS DATE)
-| mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-| tuple-ids=7 row-size=237B cardinality=7.30K cost=114705
+| extrapolated-rows=disabled max-scan-range-rows=1.35K
+| mem-estimate=16.00MB mem-reservation=232.00KB thread-reservation=0
+| tuple-ids=7 row-size=459B cardinality=1.35K cost=4718
| in pipelines: 07(GETNEXT)
|
06:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=01
-| hash predicates: STORE_SK = tpcds_partitioned_parquet_snap.store.s_store_sk
+| hash predicates: DATE_SK = tpcds_partitioned_parquet_snap.date_dim.d_date_sk
| fk/pk conjuncts: assumed fk/pk
-| mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=4,5 row-size=483B cardinality=9.50G cost=4159867458
+| mem-estimate=0B mem-reservation=0B spill-buffer=128.00KB thread-reservation=0
+| tuple-ids=4,5 row-size=261B cardinality=9.50G cost=4159867458
| in pipelines: 03(GETNEXT), 04(GETNEXT), 05(OPEN)
|
|--F25:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=24.29MB mem-reservation=23.25MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[3140]
+| | Per-Instance Resources: mem-estimate=36.39MB mem-reservation=34.50MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[17005]
| JOIN BUILD
| | join-table-id=01 plan-id=02 cohort-id=01
-| | build expressions: tpcds_partitioned_parquet_snap.store.s_store_sk
-| | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=1350
+| | build expressions: tpcds_partitioned_parquet_snap.date_dim.d_date_sk
+| | mem-estimate=34.50MB mem-reservation=34.50MB spill-buffer=128.00KB thread-reservation=0 cost=7305
| |
| 31:EXCHANGE [BROADCAST]
-| | mem-estimate=1.04MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=5 row-size=459B cardinality=1.35K cost=1790
+| | mem-estimate=1.89MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=5 row-size=237B cardinality=7.30K cost=9700
| | in pipelines: 05(GETNEXT)
| |
| F03:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=17.81MB mem-reservation=232.00KB thread-reservation=1
-| max-parallelism=1 segment-costs=[6419]
-| 05:SCAN HDFS [tpcds_partitioned_parquet_snap.store, RANDOM]
-| HDFS partitions=1/1 files=1 size=119.76KB
+| Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| max-parallelism=1 segment-costs=[119540]
+| 05:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| HDFS partitions=1/1 files=1 size=2.17MB
+| predicates: tpcds_partitioned_parquet_snap.date_dim.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim.d_date >= CAST('2000-08-19' AS DATE)
| stored statistics:
-| table: rows=1.35K size=119.76KB
+| table: rows=73.05K size=2.17MB
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=1.35K
-| mem-estimate=16.00MB mem-reservation=232.00KB thread-reservation=0
-| tuple-ids=5 row-size=459B cardinality=1.35K cost=4718
+| extrapolated-rows=disabled max-scan-range-rows=73.05K
+| parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim.d_date >= CAST('2000-08-19' AS DATE)
+| parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim.d_date >= CAST('2000-08-19' AS DATE)
+| mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| tuple-ids=5 row-size=237B cardinality=7.30K cost=114705
| in pipelines: 05(GETNEXT)
|
02:UNION
@@ -1162,73 +1162,73 @@ max-parallelism=120 segment-costs=[86121, 4572835, 4190, 509107, 1136665] cpu-co
| |
| 16:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=02
-| | hash predicates: PAGE_SK = tpcds_partitioned_parquet_snap.catalog_page.cp_catalog_page_sk
+| | hash predicates: DATE_SK = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
| | fk/pk conjuncts: assumed fk/pk
-| | mem-estimate=0B mem-reservation=0B spill-buffer=512.00KB thread-reservation=0
+| | mem-estimate=0B mem-reservation=0B spill-buffer=128.00KB thread-reservation=0
| | tuple-ids=14,15,17 row-size=437B cardinality=4.75G cost=2079991968
| | in pipelines: 11(GETNEXT), 12(GETNEXT), 15(OPEN)
| |
| |--F26:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=108.23MB mem-reservation=102.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[83840]
+| | | Per-Instance Resources: mem-estimate=36.39MB mem-reservation=34.50MB thread-reservation=1
+| | | max-parallelism=10 segment-costs=[17005]
| | JOIN BUILD
| | | join-table-id=02 plan-id=03 cohort-id=02
-| | | build expressions: tpcds_partitioned_parquet_snap.catalog_page.cp_catalog_page_sk
-| | | mem-estimate=102.00MB mem-reservation=102.00MB spill-buffer=512.00KB thread-reservation=0 cost=36000
+| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
+| | | mem-estimate=34.50MB mem-reservation=34.50MB spill-buffer=128.00KB thread-reservation=0 cost=7305
| | |
| | 36:EXCHANGE [BROADCAST]
-| | | mem-estimate=6.23MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=17 row-size=176B cardinality=36.00K cost=47840
+| | | mem-estimate=1.89MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=17 row-size=237B cardinality=7.30K cost=9700
| | | in pipelines: 15(GETNEXT)
| | |
| | F10:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-| | Per-Instance Resources: mem-estimate=16.70MB mem-reservation=1.00MB thread-reservation=1
-| | max-parallelism=1 segment-costs=[84371]
-| | 15:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_page, RANDOM]
-| | HDFS partitions=1/1 files=1 size=2.24MB
+| | Per-Instance Resources: mem-estimate=16.94MB mem-reservation=4.00MB thread-reservation=1
+| | max-parallelism=1 segment-costs=[119540]
+| | 15:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+| | HDFS partitions=1/1 files=1 size=2.17MB
+| | predicates: tpcds_partitioned_parquet_snap.date_dim_0.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim_0.d_date >= CAST('2000-08-19' AS DATE)
| | stored statistics:
-| | table: rows=36.00K size=2.24MB
+| | table: rows=73.05K size=2.17MB
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=36.00K
-| | mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-| | tuple-ids=17 row-size=176B cardinality=36.00K cost=66466
+| | extrapolated-rows=disabled max-scan-range-rows=73.05K
+| | parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim_0.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim_0.d_date >= CAST('2000-08-19' AS DATE)
+| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim_0.d_date <= CAST('2000-08-19' AS DATE) + INTERVAL CAST(14 AS INT) DAY, tpcds_partitioned_parquet_snap.date_dim_0.d_date >= CAST('2000-08-19' AS DATE)
+| | mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
+| | tuple-ids=17 row-size=237B cardinality=7.30K cost=114705
| | in pipelines: 15(GETNEXT)
| |
| 14:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=03
-| | hash predicates: DATE_SK = tpcds_partitioned_parquet_snap.date_dim_0.d_date_sk
+| | hash predicates: PAGE_SK = tpcds_partitioned_parquet_snap.catalog_page.cp_catalog_page_sk
| | fk/pk conjuncts: assumed fk/pk
... 120478 lines suppressed ...
(impala) 02/05: IMPALA-14165: Type coercion code accidentally omitted from analysis
Posted by jo...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
joemcdonnell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git
commit 922443da463f64443d7796fb1fb3435a6f513e83
Author: Steve Carlin <sc...@cloudera.com>
AuthorDate: Tue Jun 10 06:31:57 2025 -0700
IMPALA-14165: Type coercion code accidentally omitted from analysis
On the first cut of creating the Calcite planner, the Calcite planner
was standalone and ran its own JniFrontend.
In the current version, the parsing, validating, and single node
planning is called from the Impala framework.
There is some code in the first cut regarding the
"ImpalaTypeCoercionFactory" class which handles deriving the correct
data type for various expressions, for instance (found in exprs.test):
select count(*) from alltypesagg where
10.1 in (tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col)
Without this patch, the query returns the following error:
UDF ERROR: Decimal expression overflowed
This code can be found in CalciteValidator.java, but was accidentally omitted
from CalciteAnalysisDriver.
Change-Id: I74c4c714504400591d1ec6313f040191613c25d9
Reviewed-on: http://gerrit.cloudera.org:8080/23039
Tested-by: Impala Public Jenkins <im...@cloudera.com>
Reviewed-by: Steve Carlin <sc...@cloudera.com>
---
.../apache/impala/calcite/service/CalciteAnalysisDriver.java | 3 +++
.../workloads/functional-query/queries/QueryTest/calcite.test | 10 ++++++++++
2 files changed, 13 insertions(+)
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteAnalysisDriver.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteAnalysisDriver.java
index e6bb6d2b7..32634cd11 100644
--- a/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteAnalysisDriver.java
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteAnalysisDriver.java
@@ -43,6 +43,7 @@ import org.apache.impala.authorization.AuthorizationContext;
import org.apache.impala.authorization.AuthorizationFactory;
import org.apache.impala.calcite.operators.ImpalaOperatorTable;
import org.apache.impala.calcite.schema.ImpalaCalciteCatalogReader;
+import org.apache.impala.calcite.type.ImpalaTypeCoercionFactory;
import org.apache.impala.calcite.type.ImpalaTypeSystemImpl;
import org.apache.impala.calcite.util.SimplifiedAnalyzer;
import org.apache.impala.calcite.validate.ImpalaConformance;
@@ -119,6 +120,8 @@ public class CalciteAnalysisDriver implements AnalysisDriver {
// without this)
.withIdentifierExpansion(true)
.withConformance(ImpalaConformance.INSTANCE)
+ .withTypeCoercionEnabled(true)
+ .withTypeCoercionFactory(new ImpalaTypeCoercionFactory())
);
validatedNode_ = sqlValidator_.validate(parsedStmt_.getParsedSqlNode());
return new CalciteAnalysisResult(this);
diff --git a/testdata/workloads/functional-query/queries/QueryTest/calcite.test b/testdata/workloads/functional-query/queries/QueryTest/calcite.test
index 121060cf0..3013d7965 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/calcite.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/calcite.test
@@ -1066,4 +1066,14 @@ INT, BOOLEAN, TINYINT, SMALLINT, INT, BIGINT, FLOAT, DOUBLE, STRING, STRING, TIM
select ds_hll_sketch(smallint_col) from functional_parquet.alltypessmall;
---- CATCH
Cannot infer return type for DS_HLL_SKETCH; operand types: [SMALLINT]
+=====
+---- QUERY
+# This test case ensures that the TypeCoercion code is in place, which gets kicked
+# in with the "in" clause
+select count(*) from functional.alltypesagg
+where 10.1 not in (tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col)
+---- RESULTS
+8990
+---- TYPES
+bigint
====
(impala) 03/05: IMPALA-14296: Fix with_args fixture in TestMetadataReplicas
Posted by jo...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
joemcdonnell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git
commit 6b005a793a3b22de803429e4867f1459d72c236a
Author: Riza Suminto <ri...@cloudera.com>
AuthorDate: Sun Aug 10 21:56:43 2025 -0700
IMPALA-14296: Fix with_args fixture in TestMetadataReplicas
IMPALA-13947 has incorrect fixture edit that cause following error:
common/custom_cluster_test_suite.py:396: in setup_method
pytest.fail("Cannot specify with_args on both class and methods")
E Failed: Cannot specify with_args on both class and methods
This patch move the with_args fixture at test_catalog_restart up to the
class level.
Testing:
Run and pass TestMetadataReplicas in exhaustive mode.
Change-Id: I9016eac859fb01326b3d1e0a8e8e135f03d696bb
Reviewed-on: http://gerrit.cloudera.org:8080/23280
Reviewed-by: Quanlong Huang <hu...@gmail.com>
Reviewed-by: Xuebin Su <xs...@cloudera.com>
Tested-by: Quanlong Huang <hu...@gmail.com>
---
tests/custom_cluster/test_metadata_replicas.py | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/tests/custom_cluster/test_metadata_replicas.py b/tests/custom_cluster/test_metadata_replicas.py
index e67ddb93e..2a1dd3dfb 100644
--- a/tests/custom_cluster/test_metadata_replicas.py
+++ b/tests/custom_cluster/test_metadata_replicas.py
@@ -26,7 +26,8 @@ from tests.util.hive_utils import HiveDbWrapper
@SkipIfFS.hive
@CustomClusterTestSuite.with_args(
impalad_args="--use_local_catalog=false",
- catalogd_args="--catalog_topic_mode=full")
+ catalogd_args="--catalog_topic_mode=full",
+ statestored_args="--statestore_update_frequency_ms=1000")
class TestMetadataReplicas(CustomClusterTestSuite):
""" Validates metadata content across catalogd and impalad coordinators.
This test is only valid in legacy catalog mode. """
@@ -44,8 +45,6 @@ class TestMetadataReplicas(CustomClusterTestSuite):
self.__validate_metadata()
@pytest.mark.execute_serially
- @CustomClusterTestSuite.with_args(
- statestored_args="--statestore_update_frequency_ms=1000")
def test_catalog_restart(self, testid_checksum):
""" IMPALA-6948: reproduces the issue by deleting a table from Hive while the catalogd
is down. When catalogd is restarted, if the regression is present, the deleted
(impala) 05/05: IMPALA-14233: Fix unexpected Kudu table drop attempt on external table creation failure
Posted by jo...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
joemcdonnell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git
commit e7676223df4861992e10cfcea727002fcfca73e9
Author: Eyizoha <ey...@163.com>
AuthorDate: Thu Jul 17 17:42:51 2025 +0800
IMPALA-14233: Fix unexpected Kudu table drop attempt on external table creation failure
The existing code incorrectly attempts to drop the corresponding
Kudu table when the creation of a Kudu external table in HMS fails due
to an erroneous negation in the if condition (fortunately, there are
additional checks with Preconditions in KuduCatalogOpExecutor.dropTable,
causing such attempts to always fail). Additionally, when creating a
Kudu synchronized table, if the table creation fails in HMS, it will
unexpectedly skip deleting the corresponding Kudu table, resulting in an
"already exists in Kudu" error when retrying the table creation.
Removed the incorrect negation in the if condition to align with the
intended behavior described in the comment.
Testing:
- Existing tests cover this change.
Change-Id: I67d1cb333526fa41f247757997a6f7cf60d26c0b
Reviewed-on: http://gerrit.cloudera.org:8080/23181
Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java b/fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java
index adb8fe360..4814403f4 100644
--- a/fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java
+++ b/fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java
@@ -4043,7 +4043,7 @@ public class CatalogOpExecutor {
} catch (Exception e) {
try {
// Error creating the table in HMS, drop the synchronized table from Kudu.
- if (!KuduTable.isSynchronizedTable(newTable)) {
+ if (KuduTable.isSynchronizedTable(newTable)) {
KuduCatalogOpExecutor.dropTable(newTable, /* if exists */ false,
/* kudu_table_reserve_seconds */ 0, catalogTimeline);
}