You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by st...@apache.org on 2026/07/01 03:43:40 UTC
(impala) branch master updated (a659afeab -> 3057fda80)
This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git
from a659afeab IMPALA-13946: Turn on allow_catalog_cache_op_from_masked_users by default
new 37056e7e3 IMPALA-14849: Upgrade Calcite planner to 1.42
new 3057fda80 IMPALA-14484: Calcite planner: Add column stats to union slot descriptors
The 2 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:
.../apache/impala/analysis/SetOperationStmt.java | 59 +-
java/calcite-planner/pom.xml | 7 +-
.../impala/calcite/functions/IntervalExpr.java | 3 +-
.../impala/calcite/functions/RexCallConverter.java | 48 -
.../impala/calcite/rel/node/NodeCreationUtils.java | 10 +-
.../calcite/rel/util/TupleDescriptorFactory.java | 27 +-
.../impala/calcite/rules/ImpalaRexExecutor.java | 3 +-
.../impala/calcite/type/ImpalaTypeSystemImpl.java | 14 +-
.../calcite/analytic-rank-pushdown-calcite.test | 12 +-
.../PlannerTest/calcite_tpcds/tpcds-q05.test | 84 +-
.../PlannerTest/calcite_tpcds/tpcds-q08.test | 38 +-
.../PlannerTest/calcite_tpcds/tpcds-q14a.test | 1770 ++++++++++----------
.../PlannerTest/calcite_tpcds/tpcds-q14b.test | 624 +++----
.../PlannerTest/calcite_tpcds/tpcds-q23a.test | 24 +-
.../PlannerTest/calcite_tpcds/tpcds-q23b.test | 62 +-
.../PlannerTest/calcite_tpcds/tpcds-q33.test | 56 +-
.../PlannerTest/calcite_tpcds/tpcds-q35a.test | 24 +-
.../PlannerTest/calcite_tpcds/tpcds-q38.test | 108 +-
.../PlannerTest/calcite_tpcds/tpcds-q49.test | 36 +-
.../PlannerTest/calcite_tpcds/tpcds-q56.test | 104 +-
.../PlannerTest/calcite_tpcds/tpcds-q60.test | 104 +-
.../PlannerTest/calcite_tpcds/tpcds-q66.test | 92 +-
.../PlannerTest/calcite_tpcds/tpcds-q75.test | 134 +-
.../PlannerTest/calcite_tpcds/tpcds-q76.test | 108 +-
.../PlannerTest/calcite_tpcds/tpcds-q77.test | 84 +-
.../PlannerTest/calcite_tpcds/tpcds-q80.test | 84 +-
.../PlannerTest/calcite_tpcds/tpcds-q87.test | 114 +-
.../PlannerTest/calcite_tpcds/tpcds-q91.test | 6 +-
.../queries/QueryTest/calcite_subquery.test | 21 +-
.../queries/QueryTest/grouping-sets.test | 21 +
.../queries/QueryTest/spilling-naaj.test | 18 +
.../queries/QueryTest/subquery.test | 7 +
tests/common/skip.py | 2 +
tests/query_test/test_spilling.py | 5 +-
34 files changed, 1983 insertions(+), 1930 deletions(-)
(impala) 01/02: IMPALA-14849: Upgrade Calcite planner to 1.42
Posted by st...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git
commit 37056e7e39f1d6d1db8434c1695b0ccd777846fd
Author: Steve Carlin <sc...@cloudera.com>
AuthorDate: Wed Apr 1 21:11:32 2026 -0700
IMPALA-14849: Upgrade Calcite planner to 1.42
Upgraded to Calcite 1.42.
Some problems addressed:
- getMaxNumPrecision and getMaxNumScale were made final methods in
Calcite causing a compilation error.
- A Jira fix changed the interval expression to use CHECKED_TIMES
rather than TIMES for the operator.
- The avatica dependency is not needed.
- 1.42 added new support for some correlated queries which now compile
in Calcite and will no longer fallback to the original planner.
- The support of some new correlated queries uncovered some incorrect
results which can be found in subquery.test and grouping-sets.test.
IMPALA-15122 and IMPALA-15124 have been filed to deal with these
incorrect results in the original planner.
- Some tests for spilling had to be commented out. The queries in the
file used to fallback to the original planner. They succeed now. But
the plans generated are different. The original planner produces
anti-join queries and the Calcite planner does not. This results in
different memory usage. The spilling tests are specifically designed
to handle this. IMPALA-15123has been filed to ensure these tests
will eventually work for the Calcite planner.
- This is a small performance regression in
analytic-rank-pushdown-calcite.test. IMPALA-15125 has been filed. A
Filter/Values RelNode is not being reduced. This will have a minimal
performance impact, so it should be ok to do the upgrade with this
issue.
Change-Id: I4bfb3271282f3dfdd250fa61bce1492e5dd499f8
Reviewed-on: http://gerrit.cloudera.org:8080/24261
Tested-by: Impala Public Jenkins <im...@cloudera.com>
Reviewed-by: Aman Sinha <am...@cloudera.com>
---
java/calcite-planner/pom.xml | 7 +---
.../impala/calcite/functions/IntervalExpr.java | 3 +-
.../impala/calcite/functions/RexCallConverter.java | 48 ----------------------
.../impala/calcite/rules/ImpalaRexExecutor.java | 3 +-
.../impala/calcite/type/ImpalaTypeSystemImpl.java | 14 +------
.../calcite/analytic-rank-pushdown-calcite.test | 12 +++++-
.../PlannerTest/calcite_tpcds/tpcds-q91.test | 6 +--
.../queries/QueryTest/calcite_subquery.test | 21 ++++------
.../queries/QueryTest/grouping-sets.test | 21 ++++++++++
.../queries/QueryTest/spilling-naaj.test | 18 ++++++++
.../queries/QueryTest/subquery.test | 7 ++++
tests/common/skip.py | 2 +
tests/query_test/test_spilling.py | 5 ++-
13 files changed, 81 insertions(+), 86 deletions(-)
diff --git a/java/calcite-planner/pom.xml b/java/calcite-planner/pom.xml
index 65dc4c94a..cdfa5432d 100644
--- a/java/calcite-planner/pom.xml
+++ b/java/calcite-planner/pom.xml
@@ -40,14 +40,9 @@ under the License.
<dependency>
<groupId>org.apache.calcite</groupId>
<artifactId>calcite-core</artifactId>
- <version>1.41.0</version>
+ <version>1.42.0</version>
</dependency>
<dependency>
- <groupId>org.apache.calcite.avatica</groupId>
- <artifactId>avatica-core</artifactId>
- <version>1.23.0</version>
- </dependency>
- <dependency>
<groupId>org.immutables</groupId>
<artifactId>value</artifactId>
<version>2.10.1</version>
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/functions/IntervalExpr.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/functions/IntervalExpr.java
index e2e8ebe5b..1f5e5d038 100644
--- a/java/calcite-planner/src/main/java/org/apache/impala/calcite/functions/IntervalExpr.java
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/functions/IntervalExpr.java
@@ -57,7 +57,8 @@ public class IntervalExpr extends Expr {
private final String timeUnit_;
public IntervalExpr(RexCall intervalExpr, Expr literalExpr) {
- Preconditions.checkState(intervalExpr.getOperator().getKind().equals(SqlKind.TIMES));
+ Preconditions.checkState(intervalExpr.getOperator().getKind().equals(SqlKind.TIMES) ||
+ intervalExpr.getOperator().getKind().equals(SqlKind.CHECKED_TIMES));
Preconditions.checkState(SqlTypeName.INTERVAL_TYPES.contains(
intervalExpr.getOperands().get(1).getType().getSqlTypeName()));
intervalExpr_ = intervalExpr;
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/functions/RexCallConverter.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/functions/RexCallConverter.java
index 85cb4ba02..6c3adae79 100644
--- a/java/calcite-planner/src/main/java/org/apache/impala/calcite/functions/RexCallConverter.java
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/functions/RexCallConverter.java
@@ -18,7 +18,6 @@
package org.apache.impala.calcite.functions;
import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import org.apache.calcite.rel.type.RelDataType;
@@ -94,8 +93,6 @@ public class RexCallConverter {
return new IsNullPredicate(params.get(0), false);
case IS_NOT_NULL:
return new IsNullPredicate(params.get(0), true);
- case LIKE:
- return createLikeExpr(rexBuilder, rexCall, params, analyzer);
case OTHER:
if (rexCall.getOperator() instanceof ImpalaInOperator) {
return createInExpr(rexCall, params);
@@ -185,51 +182,6 @@ public class RexCallConverter {
return null;
}
-
- // CALCITE-7287: Regression in Calcite 1.41. In the RexSimplify.simplifyLike()
- // method, the string RexLiteral gets converted back into its Calcite CHAR
- // type whereas Impala treats these literals as strings. We look for the specific
- // case where that happens: The first parameter of the like must be of type
- // varchar, the second parameter is a literal of type char. When this is seen,
- // the rexLiteral gets cast once again to a VARCHAR so that the function name
- // can be resolved by the function resolver.
- // XXX: If we need to commit the upgrade to 1.41 before 1.42 comes out, this
- // commit will be needed. This should be fixed in 1.42, and when it does, this
- // whole method can go away. Without this fix and with the upgrade to 1.41, tpcds-q91
- // will fail.
- private static Expr createLikeExpr(RexBuilder rexBuilder, RexCall rexCall,
- List<Expr> params, Analyzer analyze) throws ImpalaException {
-
- if (rexCall.getOperands().get(1) instanceof RexLiteral) {
- RexLiteral literal = (RexLiteral) rexCall.getOperands().get(1);
- if (literal.getType().getSqlTypeName().equals(SqlTypeName.CHAR)) {
- RexNode op0 = (RexNode) rexCall.getOperands().get(0);
- if (op0.getType().getSqlTypeName().equals(SqlTypeName.VARCHAR)) {
- RexNode varcharLiteral = rexBuilder.makeLiteral(
- literal.getValueAs(String.class), op0.getType(), true);
- List<RexNode> operands = ImmutableList.of(op0, varcharLiteral);
- rexCall = (RexCall) rexBuilder.makeCall(rexCall.getOperator(), operands);
- }
- }
- }
-
- String funcName = rexCall.getOperator().getName().toLowerCase();
- Function fn = getFunction(rexCall);
-
- if (fn == null) {
- List<RelDataType> argTypes =
- Lists.transform(rexCall.getOperands(), RexNode::getType);
- Preconditions.checkState(false, "Could not find function \"" + funcName +
- "\" in Impala " + "with args " + argTypes + " and return type " +
- rexCall.getType());
- return null;
- }
- Type impalaRetType = ImpalaTypeConverter.createImpalaType(fn.getReturnType(),
- rexCall.getType().getPrecision(), rexCall.getType().getScale());
-
- return new AnalyzedFunctionCallExpr(fn, params, impalaRetType);
- }
-
/**
* Create In Expr
*/
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaRexExecutor.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaRexExecutor.java
index 09b36b11d..9753ee6e8 100644
--- a/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaRexExecutor.java
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaRexExecutor.java
@@ -161,7 +161,8 @@ public class ImpalaRexExecutor implements RexExecutor {
return false;
}
RexCall call = (RexCall) operand;
- if (!call.getKind().equals(SqlKind.TIMES)) {
+ if (!(call.getKind().equals(SqlKind.TIMES)
+ || call.getKind().equals(SqlKind.CHECKED_TIMES))) {
return false;
}
if (!SqlTypeUtil.isInterval(call.getType())) {
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/type/ImpalaTypeSystemImpl.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/type/ImpalaTypeSystemImpl.java
index d6f61c36f..1119d2c53 100644
--- a/java/calcite-planner/src/main/java/org/apache/impala/calcite/type/ImpalaTypeSystemImpl.java
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/type/ImpalaTypeSystemImpl.java
@@ -68,7 +68,7 @@ public class ImpalaTypeSystemImpl extends RelDataTypeSystemImpl {
public int getMaxScale(SqlTypeName typeName) {
switch (typeName) {
case DECIMAL:
- return getMaxNumericScale();
+ return ScalarType.MAX_SCALE;
case INTERVAL_YEAR:
case INTERVAL_MONTH:
case INTERVAL_YEAR_MONTH:
@@ -136,7 +136,7 @@ public class ImpalaTypeSystemImpl extends RelDataTypeSystemImpl {
case VARCHAR:
return Integer.MAX_VALUE;
case DECIMAL:
- return getMaxNumericPrecision();
+ return ScalarType.MAX_PRECISION;
case INTERVAL_YEAR:
case INTERVAL_MONTH:
case INTERVAL_YEAR_MONTH:
@@ -168,16 +168,6 @@ public class ImpalaTypeSystemImpl extends RelDataTypeSystemImpl {
}
}
- @Override
- public int getMaxNumericScale() {
- return ScalarType.MAX_SCALE;
- }
-
- @Override
- public int getMaxNumericPrecision() {
- return ScalarType.MAX_PRECISION;
- }
-
@Override
public boolean isSchemaCaseSensitive() {
return false;
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite/analytic-rank-pushdown-calcite.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite/analytic-rank-pushdown-calcite.test
index 5aa0397e7..40d13927c 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite/analytic-rank-pushdown-calcite.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite/analytic-rank-pushdown-calcite.test
@@ -775,6 +775,9 @@ PLAN-ROOT SINK
# Different from original planner: The Calcite planner has
# a different plan which allows the top-n optimization even
# though there's a union.
+# IMPALA-15125 has been filed for the Select/Union PlanNode
+# combination which should be folded into just a Union. This
+# has a very minimal performance impact.
select * from (
select id, int_col,
row_number() over (order by string_col desc) as rownum
@@ -784,9 +787,16 @@ where rownum <= 20
PLAN-ROOT SINK
|
00:UNION
-| constant-operands=1
| row-size=16B cardinality=21
|
+|--06:SELECT
+| | predicates: EXPR$2 <= 20
+| | row-size=3B cardinality=1
+| |
+| 05:UNION
+| constant-operands=1
+| row-size=3B cardinality=1
+|
04:SELECT
| predicates: row_number() <= 20
| row-size=31B cardinality=20
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q91.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q91.test
index 215c8bb81..ff62506cd 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q91.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q91.test
@@ -65,7 +65,7 @@ ImpalaSortRel(sort0=[$3], dir0=[DESC])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, customer]])
ImpalaProjectRel(hd_demo_sk=[$0])
ImpalaProjectRel(hd_demo_sk=[$0], hd_buy_potential=[$2])
- ImpalaFilterRel(condition=[AND(LIKE($2, _UTF-8'5001-10000%'), IS NOT NULL($0))])
+ ImpalaFilterRel(condition=[AND(LIKE($2, _UTF-8'5001-10000%':VARCHAR(2147483647) CHARACTER SET "UTF-8"), IS NOT NULL($0))])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, household_demographics]])
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=419.97MB mem-reservation=100.38MB thread-reservation=1 runtime-filters-memory=8.00MB
@@ -260,7 +260,7 @@ ImpalaSortRel(sort0=[$3], dir0=[DESC])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, customer]])
ImpalaProjectRel(hd_demo_sk=[$0])
ImpalaProjectRel(hd_demo_sk=[$0], hd_buy_potential=[$2])
- ImpalaFilterRel(condition=[AND(LIKE($2, _UTF-8'5001-10000%'), IS NOT NULL($0))])
+ ImpalaFilterRel(condition=[AND(LIKE($2, _UTF-8'5001-10000%':VARCHAR(2147483647) CHARACTER SET "UTF-8"), IS NOT NULL($0))])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, household_demographics]])
F10:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.18MB mem-reservation=4.00MB thread-reservation=1
@@ -599,7 +599,7 @@ ImpalaSortRel(sort0=[$3], dir0=[DESC])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, customer]])
ImpalaProjectRel(hd_demo_sk=[$0])
ImpalaProjectRel(hd_demo_sk=[$0], hd_buy_potential=[$2])
- ImpalaFilterRel(condition=[AND(LIKE($2, _UTF-8'5001-10000%'), IS NOT NULL($0))])
+ ImpalaFilterRel(condition=[AND(LIKE($2, _UTF-8'5001-10000%':VARCHAR(2147483647) CHARACTER SET "UTF-8"), IS NOT NULL($0))])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, household_demographics]])
F10:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.18MB mem-reservation=4.00MB thread-reservation=1
diff --git a/testdata/workloads/functional-query/queries/QueryTest/calcite_subquery.test b/testdata/workloads/functional-query/queries/QueryTest/calcite_subquery.test
index f0af307ca..b8f8694fa 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/calcite_subquery.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/calcite_subquery.test
@@ -117,22 +117,17 @@ select id from functional.alltypestiny where
row_regex: PlannerType: CalcitePlanner
====
---- QUERY
-select id from functional.alltypessmall a where 1
- IN (select int_col from functional.alltypestiny b where b.id = a.id limit 5)
-# Will be supported in Calcite 1.42
----- CATCH
-Unknown RelNode
----- RUNTIME_PROFILE
-row_regex: PlannerType: CalcitePlanner
-====
----- QUERY
+# Supported in Calcite 1.42
select id from functional.alltypessmall a where 1 IN
(select int_col from functional.alltypestiny b where b.id = a.id
order by int_col limit 5)
----- CATCH
-Unknown RelNode
----- RUNTIME_PROFILE
-row_regex: PlannerType: CalcitePlanner
+---- TYPES
+INT
+---- RESULTS
+1
+3
+5
+7
====
---- QUERY
# nested subqueries
diff --git a/testdata/workloads/functional-query/queries/QueryTest/grouping-sets.test b/testdata/workloads/functional-query/queries/QueryTest/grouping-sets.test
index ffda59c89..8c5488a85 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/grouping-sets.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/grouping-sets.test
@@ -139,7 +139,12 @@ where exists
where a.tinyint_col = b.tinyint_col and a.string_col = b.string_col
group by rollup(id, int_col, bool_col))
and tinyint_col < 10
+order by id
+limit 15;
---- RESULTS
+# IMPALA-15122: Rollup contains an empty group which always has a row.
+# The inner query should return NULL, not 0 results, and the exists clause
+# should always be true.
1
1001
2001
@@ -150,6 +155,22 @@ where exists
7001
8001
9001
+---- CALCITE_PLANNER_RESULTS
+1
+2
+3
+4
+5
+6
+7
+8
+9
+11
+12
+13
+14
+15
+16
---- TYPES
INT
====
diff --git a/testdata/workloads/functional-query/queries/QueryTest/spilling-naaj.test b/testdata/workloads/functional-query/queries/QueryTest/spilling-naaj.test
index 39ae2bb38..a00a3d704 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/spilling-naaj.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/spilling-naaj.test
@@ -21,6 +21,8 @@
# where l_orderkey % 2 = 1 and p_retailprice = l_extendedprice * l_tax
# order by 1,2,3,4 limit 5
#
+# IMPALA-15123: Calcite planner produces query that fails because the plan
+# is different. This might be ok, but needs investigation.
set buffer_pool_limit=90m;
select l_orderkey, l_partkey, l_suppkey, l_linenumber
from lineitem
@@ -37,9 +39,14 @@ order by 1,2,3,4 limit 5
1767,22387,4890,4
---- TYPES
BIGINT,BIGINT,BIGINT,INT
+---- CALCITE_PLANNER_CATCH
+Increase the buffer_pool_limit
====
---- QUERY
# Execute NAAJ query 2 in-memory only without enough memory to complete.
+#
+# IMPALA-15123: Calcite planner produces query that fails because the plan
+# is different. This might be ok, but needs investigation.
set scratch_limit=0;
set buffer_pool_limit=90m;
select l_orderkey, l_partkey, l_suppkey, l_linenumber
@@ -51,6 +58,8 @@ where if(l_orderkey % 2 = 0, NULL, l_partkey) not in (
order by 1,2,3,4 limit 5
---- CATCH
Could not free memory by spilling to disk: scratch_limit is 0
+---- CALCITE_PLANNER_CATCH
+Increase the buffer_pool_limit
====
---- QUERY
# =======================================================================================
@@ -65,6 +74,8 @@ Could not free memory by spilling to disk: scratch_limit is 0
# where p_partkey = 2 and l_partkey % 2 = 1
# order by 1,2,3,4
#
+# IMPALA-15123: Calcite planner produces query that fails because the plan
+# is different. This might be ok, but needs investigation.
set buffer_pool_limit=90m;
select l_orderkey, l_partkey, l_suppkey, l_linenumber
from lineitem
@@ -79,6 +90,8 @@ order by 1,2,3,4
4958784,116009,1032,2
---- TYPES
BIGINT,BIGINT,BIGINT,INT
+---- CALCITE_PLANNER_CATCH
+Increase the buffer_pool_limit
====
---- QUERY
# =======================================================================================
@@ -86,6 +99,9 @@ BIGINT,BIGINT,BIGINT,INT
# =======================================================================================
# This returns one less row than the previous query because l_partkey=116009 is
# replaced with a NULL.
+#
+# IMPALA-15123: Calcite planner produces query that fails because the plan
+# is different. This might be ok, but needs investigation.
set buffer_pool_limit=90m;
select l_orderkey, l_partkey, l_suppkey, l_linenumber
from lineitem
@@ -99,4 +115,6 @@ order by 1,2,3,4
4801283,199001,9002,1
---- TYPES
BIGINT,BIGINT,BIGINT,INT
+---- CALCITE_PLANNER_CATCH
+Increase the buffer_pool_limit
====
diff --git a/testdata/workloads/functional-query/queries/QueryTest/subquery.test b/testdata/workloads/functional-query/queries/QueryTest/subquery.test
index cab6a3e59..b51c9d75a 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/subquery.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/subquery.test
@@ -787,7 +787,14 @@ AND t1.int_col NOT IN
LEFT JOIN alltypestiny tt2 ON tt2.year = tt1.id
AND t1.bigint_col = tt2.smallint_col)
---- RESULTS
+# IMPALA-15124: should return 9980 rows. The alltypesagg table
+# on the left side of the left join should produce all rows from
+# the table even with the decorrelated column. So any row where
+# alltypesagg.int_col is the same as alltypesagg.month should not
+# be included in the count.
10000
+---- CALCITE_PLANNER_RESULTS
+9980
---- TYPES
BIGINT
====
diff --git a/tests/common/skip.py b/tests/common/skip.py
index ccaa0e91b..da38dba1c 100644
--- a/tests/common/skip.py
+++ b/tests/common/skip.py
@@ -311,3 +311,5 @@ class SkipIfCalcite:
reason="row filtering not supported yet")
observability_info_missing = pytest.mark.skipif(IS_CALCITE_PLANNER,
reason="some observability test information is missing")
+ spilling_plan_different = pytest.mark.skipif(IS_CALCITE_PLANNER,
+ reason="IMPALA-15123: spilling plan is different, needs investigation.")
diff --git a/tests/query_test/test_spilling.py b/tests/query_test/test_spilling.py
index 778b07e45..b319a6ae4 100644
--- a/tests/query_test/test_spilling.py
+++ b/tests/query_test/test_spilling.py
@@ -20,7 +20,7 @@ from copy import deepcopy
from tests.common.environ import ImpalaTestClusterProperties
from tests.common.impala_test_suite import ImpalaTestSuite
-from tests.common.skip import SkipIfNotHdfsMinicluster
+from tests.common.skip import SkipIfNotHdfsMinicluster, SkipIfCalcite
from tests.common.test_dimensions import (create_exec_option_dimension_from_dict,
create_kudu_dimension, create_parquet_dimension)
@@ -108,6 +108,9 @@ class TestSpillingNoDebugActionDimensions(ImpalaTestSuite):
create_exec_option_dimension_from_dict({'default_spillable_buffer_size': ['64k'],
'mt_dop': [0, 4]}))
+ # IMPALA-15123: Calcite planner produces query that fails test because the plan
+ # is different. This might be ok, but needs investigation.
+ @SkipIfCalcite.spilling_plan_different
def test_spilling_naaj_no_deny_reservation(self, vector):
"""
Null-aware anti-join tests that depend on getting more than the minimum reservation
(impala) 02/02: IMPALA-14484: Calcite planner: Add column stats to union slot descriptors
Posted by st...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git
commit 3057fda801aeed17f2fdd7605c0ab28fa27da2cb
Author: Steve Carlin <sc...@cloudera.com>
AuthorDate: Thu Sep 18 13:28:07 2025 -0700
IMPALA-14484: Calcite planner: Add column stats to union slot descriptors
There is explicit code in SetOperationStmt which adds column stats to the
SlotDescriptor. This code is now reused to obtain the column stats for the
Calcite compiler and added to the union slot descriptors.
The tpcds unit tests now have better estimates.
Change-Id: Ia0585fafa45658dffffdbf6410b028f03304b6e9
Reviewed-on: http://gerrit.cloudera.org:8080/24017
Reviewed-by: Michael Smith <mi...@cloudera.com>
Reviewed-by: Jason Fehr <jf...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
.../apache/impala/analysis/SetOperationStmt.java | 59 +-
.../impala/calcite/rel/node/NodeCreationUtils.java | 10 +-
.../calcite/rel/util/TupleDescriptorFactory.java | 27 +-
.../PlannerTest/calcite_tpcds/tpcds-q05.test | 84 +-
.../PlannerTest/calcite_tpcds/tpcds-q08.test | 38 +-
.../PlannerTest/calcite_tpcds/tpcds-q14a.test | 1770 ++++++++++----------
.../PlannerTest/calcite_tpcds/tpcds-q14b.test | 624 +++----
.../PlannerTest/calcite_tpcds/tpcds-q23a.test | 24 +-
.../PlannerTest/calcite_tpcds/tpcds-q23b.test | 62 +-
.../PlannerTest/calcite_tpcds/tpcds-q33.test | 56 +-
.../PlannerTest/calcite_tpcds/tpcds-q35a.test | 24 +-
.../PlannerTest/calcite_tpcds/tpcds-q38.test | 108 +-
.../PlannerTest/calcite_tpcds/tpcds-q49.test | 36 +-
.../PlannerTest/calcite_tpcds/tpcds-q56.test | 104 +-
.../PlannerTest/calcite_tpcds/tpcds-q60.test | 104 +-
.../PlannerTest/calcite_tpcds/tpcds-q66.test | 92 +-
.../PlannerTest/calcite_tpcds/tpcds-q75.test | 134 +-
.../PlannerTest/calcite_tpcds/tpcds-q76.test | 108 +-
.../PlannerTest/calcite_tpcds/tpcds-q77.test | 84 +-
.../PlannerTest/calcite_tpcds/tpcds-q80.test | 84 +-
.../PlannerTest/calcite_tpcds/tpcds-q87.test | 114 +-
21 files changed, 1902 insertions(+), 1844 deletions(-)
diff --git a/fe/src/main/java/org/apache/impala/analysis/SetOperationStmt.java b/fe/src/main/java/org/apache/impala/analysis/SetOperationStmt.java
index 2353a3494..c04fd6468 100644
--- a/fe/src/main/java/org/apache/impala/analysis/SetOperationStmt.java
+++ b/fe/src/main/java/org/apache/impala/analysis/SetOperationStmt.java
@@ -21,6 +21,7 @@ import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import java.util.stream.Collectors;
import org.apache.impala.catalog.Column;
import org.apache.impala.catalog.ColumnStats;
@@ -643,32 +644,11 @@ public class SetOperationStmt extends QueryStmt {
// One slot per expr in the select blocks. Use first select block as representative.
List<Expr> firstSelectExprs = operands_.get(0).getQueryStmt().getResultExprs();
- // Compute column stats for the materialized slots from the source exprs.
- List<ColumnStats> columnStats = new ArrayList<>();
- List<Set<Column>> sourceColumns = new ArrayList<>();
- for (int i = 0; i < operands_.size(); ++i) {
- List<Expr> selectExprs = operands_.get(i).getQueryStmt().getResultExprs();
- for (int j = 0; j < selectExprs.size(); ++j) {
- if (i == 0) {
- ColumnStats statsToAdd = ColumnStats.fromExpr(selectExprs.get(j));
- columnStats.add(statsToAdd);
- sourceColumns.add(new HashSet<>());
- } else {
- ColumnStats statsToAdd = columnStats.get(j).hasNumDistinctValues() ?
- ColumnStats.fromExpr(selectExprs.get(j), sourceColumns.get(j)) :
- ColumnStats.fromExpr(selectExprs.get(j));
- columnStats.get(j).add(statsToAdd);
- }
+ List<List<Expr>> resultExprsList = operands_.stream()
+ .map(o -> o.getQueryStmt().getResultExprs())
+ .collect(Collectors.toList());
- if (columnStats.get(j).hasNumDistinctValues()) {
- // Collect expr columns to keep ndv low in later stats addition.
- SlotRef slotRef = selectExprs.get(j).unwrapSlotRef(false);
- if (slotRef != null && slotRef.hasDesc()) {
- slotRef.getDesc().collectColumns(sourceColumns.get(j));
- }
- }
- }
- }
+ List<ColumnStats> columnStats = getColumnStats(resultExprsList);
// Create tuple descriptor and slots.
for (int i = 0; i < firstSelectExprs.size(); ++i) {
@@ -715,6 +695,35 @@ public class SetOperationStmt extends QueryStmt {
baseTblResultExprs_ = resultExprs_;
}
+ public static List<ColumnStats> getColumnStats(List<List<Expr>> resultExprsList) {
+ List<ColumnStats> columnStats = new ArrayList<>();
+ List<Set<Column>> sourceColumns = new ArrayList<>();
+ for (int i = 0; i < resultExprsList.size(); ++i) {
+ List<Expr> selectExprs = resultExprsList.get(i);
+ for (int j = 0; j < selectExprs.size(); ++j) {
+ if (i == 0) {
+ ColumnStats statsToAdd = ColumnStats.fromExpr(selectExprs.get(j));
+ columnStats.add(statsToAdd);
+ sourceColumns.add(new HashSet<>());
+ } else {
+ ColumnStats statsToAdd = columnStats.get(j).hasNumDistinctValues() ?
+ ColumnStats.fromExpr(selectExprs.get(j), sourceColumns.get(j)) :
+ ColumnStats.fromExpr(selectExprs.get(j));
+ columnStats.get(j).add(statsToAdd);
+ }
+
+ if (columnStats.get(j).hasNumDistinctValues()) {
+ // Collect expr columns to keep ndv low in later stats addition.
+ SlotRef slotRef = selectExprs.get(j).unwrapSlotRef(false);
+ if (slotRef != null && slotRef.hasDesc()) {
+ slotRef.getDesc().collectColumns(sourceColumns.get(j));
+ }
+ }
+ }
+ }
+ return columnStats;
+ }
+
/**
* Fill distinct-/all Operands and performs possible unnesting of SetOperationStmt
* operands in the process.
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/NodeCreationUtils.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/NodeCreationUtils.java
index 7c46880ec..e6048f4e4 100644
--- a/java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/NodeCreationUtils.java
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/NodeCreationUtils.java
@@ -21,9 +21,11 @@ import com.google.common.collect.ImmutableList;
import org.apache.impala.analysis.Analyzer;
import org.apache.impala.analysis.Expr;
+import org.apache.impala.analysis.SetOperationStmt;
import org.apache.impala.analysis.SlotDescriptor;
import org.apache.impala.analysis.SlotRef;
import org.apache.impala.analysis.TupleDescriptor;
+import org.apache.impala.catalog.ColumnStats;
import org.apache.impala.planner.EmptySetNode;
import org.apache.impala.planner.PlanNodeId;
import org.apache.impala.planner.SelectNode;
@@ -37,6 +39,7 @@ import org.apache.calcite.rex.RexBuilder;
import org.apache.calcite.rex.RexNode;
import java.util.List;
+import java.util.stream.Collectors;
public class NodeCreationUtils {
@@ -76,8 +79,11 @@ public class NodeCreationUtils {
public static NodeWithExprs createUnionPlanNode(PlanNodeId nodeId,
Analyzer analyzer, RelDataType rowType, List<NodeWithExprs> childrenPlanNodes,
boolean unionAll) throws ImpalaException {
- TupleDescriptorFactory tupleDescFactory =
- new TupleDescriptorFactory("union", rowType);
+ List<List<Expr>> inputExprsList = childrenPlanNodes.stream()
+ .map(c -> c.outputExprs_).collect(Collectors.toList());
+ List<ColumnStats> columnStats = SetOperationStmt.getColumnStats(inputExprsList);
+ TupleDescriptorFactory tupleDescFactory = new TupleDescriptorFactory("union",
+ rowType, columnStats.size() > 0 ? columnStats : null);
TupleDescriptor tupleDesc = tupleDescFactory.create(analyzer);
// The outputexprs are the SlotRef exprs passed to the parent node.
List<Expr> outputExprs = createOutputExprs(tupleDesc.getSlots());
diff --git a/java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/util/TupleDescriptorFactory.java b/java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/util/TupleDescriptorFactory.java
index 8f94a1324..03d1d494d 100644
--- a/java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/util/TupleDescriptorFactory.java
+++ b/java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/util/TupleDescriptorFactory.java
@@ -24,6 +24,7 @@ import org.apache.impala.analysis.Analyzer;
import org.apache.impala.analysis.Expr;
import org.apache.impala.analysis.SlotDescriptor;
import org.apache.impala.analysis.TupleDescriptor;
+import org.apache.impala.catalog.ColumnStats;
import org.apache.impala.catalog.Type;
import org.apache.impala.calcite.type.ImpalaTypeConverter;
import org.apache.impala.common.ImpalaException;
@@ -39,21 +40,24 @@ public class TupleDescriptorFactory {
private final String tupleLabel;
private final List<RelDataTypeField> relDataTypeFields;
private final List<String> fieldLabels;
+ private final List<ColumnStats> columnStats_;
- public TupleDescriptorFactory(String tupleLabel, List<Expr> exprList,
- RelDataType rowType) {
- this(tupleLabel, getLabelsFromExprs(exprList), rowType.getFieldList());
+ public TupleDescriptorFactory(String tupleLabel, RelDataType rowType) {
+ this(tupleLabel, getLabelsFromRelDataType(rowType), rowType.getFieldList(), null);
}
- public TupleDescriptorFactory(String tupleLabel, RelDataType rowType) {
- this(tupleLabel, getLabelsFromRelDataType(rowType), rowType.getFieldList());
+ public TupleDescriptorFactory(String tupleLabel, RelDataType rowType,
+ List<ColumnStats> columnStats) {
+ this(tupleLabel, getLabelsFromRelDataType(rowType), rowType.getFieldList(),
+ columnStats);
}
private TupleDescriptorFactory(String tupleLabel, List<String> fieldLabels,
- List<RelDataTypeField> relDataTypeFields) {
+ List<RelDataTypeField> relDataTypeFields, List<ColumnStats> columnStats) {
this.tupleLabel = tupleLabel;
this.fieldLabels = fieldLabels;
this.relDataTypeFields = relDataTypeFields;
+ this.columnStats_ = columnStats;
Preconditions.checkArgument(fieldLabels.size() == relDataTypeFields.size());
}
@@ -73,6 +77,9 @@ public class TupleDescriptorFactory {
slotDesc.setType(impalaType);
slotDesc.setLabel(fieldLabel);
slotDesc.setIsMaterialized(true);
+ if (columnStats_ != null) {
+ slotDesc.setStats(columnStats_.get(i));
+ }
if (!relDataTypeField.getType().isNullable()) {
slotDesc.setIsNullable(false);
}
@@ -81,14 +88,6 @@ public class TupleDescriptorFactory {
return tupleDesc;
}
- private static List<String> getLabelsFromExprs(List<Expr> exprs) {
- List<String> fieldLabels = new ArrayList<>();
- for (Expr expr : exprs) {
- fieldLabels.add(expr.toSql());
- }
- return fieldLabels;
- }
-
private static List<String> getLabelsFromRelDataType(RelDataType rowType) {
List<String> fieldLabels = new ArrayList<>();
for (RelDataTypeField field : rowType.getFieldList()) {
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 e9cf45933..0e95d2948 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
@@ -128,8 +128,8 @@ with ssr as
# end query 5 in stream 0 using template query5.tpl
---- PLAN
-Max Per-Host Resource Reservation: Memory=132.91MB Threads=1
-Per-Host Resource Estimates: Memory=10.97GB
+Max Per-Host Resource Reservation: Memory=75.34MB Threads=1
+Per-Host Resource Estimates: Memory=10.74GB
ImpalaSortRel(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], SALES=[SUM($2)], returns=[SUM($3)], PROFIT=[SUM($4)])
ImpalaUnionRel(all=[true])
@@ -202,8 +202,8 @@ ImpalaSortRel(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT
ImpalaFilterRel(condition=[IS NOT NULL($0)])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, web_site]])
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=10.97GB mem-reservation=132.91MB thread-reservation=1 runtime-filters-memory=23.00MB
-| max-parallelism=1 segment-costs=[15196560009, 8178168907, 7578166738, 508568, 443665, 669120, 500]
+| Per-Instance Resources: mem-estimate=10.74GB mem-reservation=75.34MB thread-reservation=1 runtime-filters-memory=23.00MB
+| max-parallelism=1 segment-costs=[15196560009, 8178168907, 7578166738, 342336, 221854, 313895, 500]
PLAN-ROOT SINK
| output exprs: CASE valid_tid(34,35,36) WHEN 34 THEN CHANNEL WHEN 35 THEN CHANNEL WHEN 36 THEN NULL END, CASE valid_tid(34,35,36) WHEN 34 THEN ID WHEN 35 THEN NULL WHEN 36 THEN NULL END, aggif(valid_tid(34,35,36) IN (34, 35, 36), CASE valid_tid(34,35,36) WHEN 34 THEN sum(SALES) WHEN 35 THEN sum(SALES) WHEN 36 THEN sum(SALES) END), aggif(valid_tid(34,35,36) IN (34, 35, 36), CASE valid_tid(34,35,36) WHEN 34 THEN sum(returns) WHEN 35 THEN sum(returns) WHEN 36 THEN sum(returns) END), aggif [...]
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=500
@@ -211,14 +211,14 @@ PLAN-ROOT SINK
30:TOP-N [LIMIT=100]
| order by: CASE valid_tid(34,35,36) WHEN 34 THEN CHANNEL WHEN 35 THEN CHANNEL WHEN 36 THEN NULL END ASC NULLS LAST, CASE valid_tid(34,35,36) WHEN 34 THEN ID WHEN 35 THEN NULL WHEN 36 THEN NULL END ASC NULLS LAST
| mem-estimate=7.03KB mem-reservation=0B thread-reservation=0
-| tuple-ids=38 row-size=72B cardinality=100 cost=669120
+| tuple-ids=38 row-size=72B cardinality=100 cost=313895
| in pipelines: 30(GETNEXT), 29(OPEN)
|
29:AGGREGATE [FINALIZE]
| output: aggif(valid_tid(34,35,36) IN (CAST(34 AS INT), CAST(35 AS INT), CAST(36 AS INT)), CASE valid_tid(34,35,36) WHEN CAST(34 AS INT) THEN sum(SALES) WHEN CAST(35 AS INT) THEN sum(SALES) WHEN CAST(36 AS INT) THEN sum(SALES) END), aggif(valid_tid(34,35,36) IN (CAST(34 AS INT), CAST(35 AS INT), CAST(36 AS INT)), CASE valid_tid(34,35,36) WHEN CAST(34 AS INT) THEN sum(returns) WHEN CAST(35 AS INT) THEN sum(returns) WHEN CAST(36 AS INT) THEN sum(returns) END), aggif(valid_tid(34,35,36) I [...]
| group by: CASE valid_tid(34,35,36) WHEN CAST(34 AS INT) THEN CHANNEL WHEN CAST(35 AS INT) THEN CHANNEL WHEN CAST(36 AS INT) THEN NULL END, CASE valid_tid(34,35,36) WHEN CAST(34 AS INT) THEN ID WHEN CAST(35 AS INT) THEN NULL WHEN CAST(36 AS INT) THEN NULL END, CASE valid_tid(34,35,36) WHEN CAST(34 AS INT) THEN CAST(34 AS INT) WHEN CAST(35 AS INT) THEN CAST(35 AS INT) WHEN CAST(36 AS INT) THEN CAST(36 AS INT) END
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=37 row-size=76B cardinality=73.42K cost=443665
+| mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
+| tuple-ids=37 row-size=76B cardinality=36.72K cost=221854
| in pipelines: 29(GETNEXT), 28(OPEN)
|
28:AGGREGATE [FINALIZE]
@@ -231,8 +231,8 @@ PLAN-ROOT SINK
| Class 2
| output: sum(SALES), sum(returns), sum(PROFIT)
| group by: NULL, NULL
-| mem-estimate=266.00MB mem-reservation=69.94MB thread-reservation=0
-| tuple-ids=34N,35N,36N row-size=216B cardinality=73.42K cost=499246
+| mem-estimate=30.00MB mem-reservation=12.38MB thread-reservation=0
+| tuple-ids=34N,35N,36N row-size=216B cardinality=36.72K cost=333014
| in pipelines: 28(GETNEXT), 09(OPEN), 17(OPEN), 27(OPEN)
|
00:UNION
@@ -509,14 +509,14 @@ PLAN-ROOT SINK
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M
+ extrapolated-rows=disabled max-scan-range-rows=12.31M
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_store_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=0 row-size=16B cardinality=7.88G cost=2132551022
in pipelines: 03(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=1.88GB Threads=91
-Per-Host Resource Estimates: Memory=8.58GB
+Max Per-Host Resource Reservation: Memory=1.03GB Threads=91
+Per-Host Resource Estimates: Memory=5.49GB
ImpalaSortRel(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], SALES=[SUM($2)], returns=[SUM($3)], PROFIT=[SUM($4)])
ImpalaUnionRel(all=[true])
@@ -603,19 +603,19 @@ PLAN-ROOT SINK
| in pipelines: 30(GETNEXT)
|
F22:PLAN FRAGMENT [HASH(CASE valid_tid(34,35,36) WHEN 34 THEN murmur_hash(CHANNEL) WHEN 35 THEN murmur_hash(CHANNEL) WHEN 36 THEN murmur_hash(NULL) END,CASE valid_tid(34,35,36) WHEN 34 THEN murmur_hash(ID) WHEN 35 THEN murmur_hash(NULL) WHEN 36 THEN murmur_hash(NULL) END)] hosts=10 instances=10 (adjusted from 120)
-Per-Instance Resources: mem-estimate=394.00MB mem-reservation=103.94MB thread-reservation=1
-max-parallelism=10 segment-costs=[530498, 443665, 669120, 220] cpu-comparison-result=480 [max(10 (self) vs 480 (sum children))]
+Per-Instance Resources: mem-estimate=57.48MB mem-reservation=7.75MB thread-reservation=1
+max-parallelism=10 segment-costs=[266395, 221854, 313895, 220] cpu-comparison-result=480 [max(10 (self) vs 480 (sum children))]
30:TOP-N [LIMIT=100]
| order by: CASE valid_tid(34,35,36) WHEN 34 THEN CHANNEL WHEN 35 THEN CHANNEL WHEN 36 THEN NULL END ASC NULLS LAST, CASE valid_tid(34,35,36) WHEN 34 THEN ID WHEN 35 THEN NULL WHEN 36 THEN NULL END ASC NULLS LAST
| mem-estimate=7.03KB mem-reservation=0B thread-reservation=0
-| tuple-ids=38 row-size=72B cardinality=100 cost=669120
+| tuple-ids=38 row-size=72B cardinality=100 cost=313895
| in pipelines: 30(GETNEXT), 29(OPEN)
|
29:AGGREGATE [FINALIZE]
| output: aggif(valid_tid(34,35,36) IN (CAST(34 AS INT), CAST(35 AS INT), CAST(36 AS INT)), CASE valid_tid(34,35,36) WHEN CAST(34 AS INT) THEN sum(SALES) WHEN CAST(35 AS INT) THEN sum(SALES) WHEN CAST(36 AS INT) THEN sum(SALES) END), aggif(valid_tid(34,35,36) IN (CAST(34 AS INT), CAST(35 AS INT), CAST(36 AS INT)), CASE valid_tid(34,35,36) WHEN CAST(34 AS INT) THEN sum(returns) WHEN CAST(35 AS INT) THEN sum(returns) WHEN CAST(36 AS INT) THEN sum(returns) END), aggif(valid_tid(34,35,36) I [...]
| group by: CASE valid_tid(34,35,36) WHEN CAST(34 AS INT) THEN CHANNEL WHEN CAST(35 AS INT) THEN CHANNEL WHEN CAST(36 AS INT) THEN NULL END, CASE valid_tid(34,35,36) WHEN CAST(34 AS INT) THEN ID WHEN CAST(35 AS INT) THEN NULL WHEN CAST(36 AS INT) THEN NULL END, CASE valid_tid(34,35,36) WHEN CAST(34 AS INT) THEN CAST(34 AS INT) WHEN CAST(35 AS INT) THEN CAST(35 AS INT) WHEN CAST(36 AS INT) THEN CAST(36 AS INT) END
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=37 row-size=76B cardinality=73.42K cost=443665
+| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=37 row-size=76B cardinality=36.72K cost=221854
| in pipelines: 29(GETNEXT), 46(OPEN)
|
46:AGGREGATE [FINALIZE]
@@ -628,18 +628,18 @@ max-parallelism=10 segment-costs=[530498, 443665, 669120, 220] cpu-comparison-re
| Class 2
| output: sum:merge(SALES), sum:merge(returns), sum:merge(PROFIT)
| group by: NULL, NULL
-| mem-estimate=266.00MB mem-reservation=69.94MB thread-reservation=0
-| tuple-ids=34N,35N,36N row-size=216B cardinality=73.42K cost=443844
+| mem-estimate=30.00MB mem-reservation=5.81MB thread-reservation=0
+| tuple-ids=34N,35N,36N row-size=216B cardinality=36.72K cost=222573
| in pipelines: 46(GETNEXT), 34(OPEN), 38(OPEN), 44(OPEN)
|
45:EXCHANGE [HASH(CASE valid_tid(34,35,36) WHEN 34 THEN murmur_hash(CHANNEL) WHEN 35 THEN murmur_hash(CHANNEL) WHEN 36 THEN murmur_hash(NULL) END,CASE valid_tid(34,35,36) WHEN 34 THEN murmur_hash(ID) WHEN 35 THEN murmur_hash(NULL) WHEN 36 THEN murmur_hash(NULL) END)]
-| mem-estimate=28.23MB mem-reservation=0B thread-reservation=0
-| tuple-ids=34N,35N,36N row-size=216B cardinality=73.54K cost=86654
+| mem-estimate=27.48MB mem-reservation=0B thread-reservation=0
+| tuple-ids=34N,35N,36N row-size=216B cardinality=37.19K cost=43822
| in pipelines: 34(GETNEXT), 38(GETNEXT), 44(GETNEXT)
|
F21:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-Per-Instance Resources: mem-estimate=306.16MB mem-reservation=74.75MB thread-reservation=1
-max-parallelism=120 segment-costs=[86121, 4572835, 4190, 509107, 1136665] cpu-comparison-result=480 [max(120 (self) vs 480 (sum children))]
+Per-Instance Resources: mem-estimate=70.16MB mem-reservation=10.75MB thread-reservation=1
+max-parallelism=120 segment-costs=[86121, 4572835, 4190, 344492, 574824] cpu-comparison-result=480 [max(120 (self) vs 480 (sum children))]
28:AGGREGATE [STREAMING]
| Class 0
| output: sum(SALES), sum(returns), sum(PROFIT)
@@ -650,8 +650,8 @@ max-parallelism=120 segment-costs=[86121, 4572835, 4190, 509107, 1136665] cpu-co
| Class 2
| output: sum(SALES), sum(returns), sum(PROFIT)
| group by: NULL, NULL
-| mem-estimate=266.00MB mem-reservation=70.00MB thread-reservation=0
-| tuple-ids=34N,35N,36N row-size=216B cardinality=73.54K cost=499785
+| mem-estimate=30.00MB mem-reservation=6.00MB thread-reservation=0
+| tuple-ids=34N,35N,36N row-size=216B cardinality=37.19K cost=335170
| in pipelines: 34(GETNEXT), 38(GETNEXT), 44(GETNEXT)
|
00:UNION
@@ -1105,14 +1105,14 @@ max-parallelism=120 segment-costs=[15196746709, 523958] cpu-comparison-result=12
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M
+ extrapolated-rows=disabled max-scan-range-rows=12.31M
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_store_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=0 row-size=16B cardinality=7.88G cost=2132551022
in pipelines: 03(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=1.88GB Threads=91
-Per-Host Resource Estimates: Memory=8.58GB
+Max Per-Host Resource Reservation: Memory=1.03GB Threads=91
+Per-Host Resource Estimates: Memory=5.49GB
ImpalaSortRel(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], SALES=[SUM($2)], returns=[SUM($3)], PROFIT=[SUM($4)])
ImpalaUnionRel(all=[true])
@@ -1199,19 +1199,19 @@ PLAN-ROOT SINK
| in pipelines: 30(GETNEXT)
|
F22:PLAN FRAGMENT [HASH(CASE valid_tid(34,35,36) WHEN 34 THEN murmur_hash(CHANNEL) WHEN 35 THEN murmur_hash(CHANNEL) WHEN 36 THEN murmur_hash(NULL) END,CASE valid_tid(34,35,36) WHEN 34 THEN murmur_hash(ID) WHEN 35 THEN murmur_hash(NULL) WHEN 36 THEN murmur_hash(NULL) END)] hosts=10 instances=10 (adjusted from 120)
-Per-Instance Resources: mem-estimate=394.00MB mem-reservation=103.94MB thread-reservation=1
-max-parallelism=10 segment-costs=[530498, 443665, 669120, 220] cpu-comparison-result=480 [max(10 (self) vs 480 (sum children))]
+Per-Instance Resources: mem-estimate=57.48MB mem-reservation=7.75MB thread-reservation=1
+max-parallelism=10 segment-costs=[266395, 221854, 313895, 220] cpu-comparison-result=480 [max(10 (self) vs 480 (sum children))]
30:TOP-N [LIMIT=100]
| order by: CASE valid_tid(34,35,36) WHEN 34 THEN CHANNEL WHEN 35 THEN CHANNEL WHEN 36 THEN NULL END ASC NULLS LAST, CASE valid_tid(34,35,36) WHEN 34 THEN ID WHEN 35 THEN NULL WHEN 36 THEN NULL END ASC NULLS LAST
| mem-estimate=7.03KB mem-reservation=0B thread-reservation=0
-| tuple-ids=38 row-size=72B cardinality=100 cost=669120
+| tuple-ids=38 row-size=72B cardinality=100 cost=313895
| in pipelines: 30(GETNEXT), 29(OPEN)
|
29:AGGREGATE [FINALIZE]
| output: aggif(valid_tid(34,35,36) IN (CAST(34 AS INT), CAST(35 AS INT), CAST(36 AS INT)), CASE valid_tid(34,35,36) WHEN CAST(34 AS INT) THEN sum(SALES) WHEN CAST(35 AS INT) THEN sum(SALES) WHEN CAST(36 AS INT) THEN sum(SALES) END), aggif(valid_tid(34,35,36) IN (CAST(34 AS INT), CAST(35 AS INT), CAST(36 AS INT)), CASE valid_tid(34,35,36) WHEN CAST(34 AS INT) THEN sum(returns) WHEN CAST(35 AS INT) THEN sum(returns) WHEN CAST(36 AS INT) THEN sum(returns) END), aggif(valid_tid(34,35,36) I [...]
| group by: CASE valid_tid(34,35,36) WHEN CAST(34 AS INT) THEN CHANNEL WHEN CAST(35 AS INT) THEN CHANNEL WHEN CAST(36 AS INT) THEN NULL END, CASE valid_tid(34,35,36) WHEN CAST(34 AS INT) THEN ID WHEN CAST(35 AS INT) THEN NULL WHEN CAST(36 AS INT) THEN NULL END, CASE valid_tid(34,35,36) WHEN CAST(34 AS INT) THEN CAST(34 AS INT) WHEN CAST(35 AS INT) THEN CAST(35 AS INT) WHEN CAST(36 AS INT) THEN CAST(36 AS INT) END
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=37 row-size=76B cardinality=73.42K cost=443665
+| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=37 row-size=76B cardinality=36.72K cost=221854
| in pipelines: 29(GETNEXT), 46(OPEN)
|
46:AGGREGATE [FINALIZE]
@@ -1224,18 +1224,18 @@ max-parallelism=10 segment-costs=[530498, 443665, 669120, 220] cpu-comparison-re
| Class 2
| output: sum:merge(SALES), sum:merge(returns), sum:merge(PROFIT)
| group by: NULL, NULL
-| mem-estimate=266.00MB mem-reservation=69.94MB thread-reservation=0
-| tuple-ids=34N,35N,36N row-size=216B cardinality=73.42K cost=443844
+| mem-estimate=30.00MB mem-reservation=5.81MB thread-reservation=0
+| tuple-ids=34N,35N,36N row-size=216B cardinality=36.72K cost=222573
| in pipelines: 46(GETNEXT), 34(OPEN), 38(OPEN), 44(OPEN)
|
45:EXCHANGE [HASH(CASE valid_tid(34,35,36) WHEN 34 THEN murmur_hash(CHANNEL) WHEN 35 THEN murmur_hash(CHANNEL) WHEN 36 THEN murmur_hash(NULL) END,CASE valid_tid(34,35,36) WHEN 34 THEN murmur_hash(ID) WHEN 35 THEN murmur_hash(NULL) WHEN 36 THEN murmur_hash(NULL) END)]
-| mem-estimate=28.23MB mem-reservation=0B thread-reservation=0
-| tuple-ids=34N,35N,36N row-size=216B cardinality=73.54K cost=86654
+| mem-estimate=27.48MB mem-reservation=0B thread-reservation=0
+| tuple-ids=34N,35N,36N row-size=216B cardinality=37.19K cost=43822
| in pipelines: 34(GETNEXT), 38(GETNEXT), 44(GETNEXT)
|
F21:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-Per-Instance Resources: mem-estimate=306.16MB mem-reservation=74.75MB thread-reservation=1
-max-parallelism=120 segment-costs=[86121, 4572835, 4190, 509107, 1136665] cpu-comparison-result=480 [max(120 (self) vs 480 (sum children))]
+Per-Instance Resources: mem-estimate=70.16MB mem-reservation=10.75MB thread-reservation=1
+max-parallelism=120 segment-costs=[86121, 4572835, 4190, 344492, 574824] cpu-comparison-result=480 [max(120 (self) vs 480 (sum children))]
28:AGGREGATE [STREAMING]
| Class 0
| output: sum(SALES), sum(returns), sum(PROFIT)
@@ -1246,8 +1246,8 @@ max-parallelism=120 segment-costs=[86121, 4572835, 4190, 509107, 1136665] cpu-co
| Class 2
| output: sum(SALES), sum(returns), sum(PROFIT)
| group by: NULL, NULL
-| mem-estimate=266.00MB mem-reservation=70.00MB thread-reservation=0
-| tuple-ids=34N,35N,36N row-size=216B cardinality=73.54K cost=499785
+| mem-estimate=30.00MB mem-reservation=6.00MB thread-reservation=0
+| tuple-ids=34N,35N,36N row-size=216B cardinality=37.19K cost=335170
| in pipelines: 34(GETNEXT), 38(GETNEXT), 44(GETNEXT)
|
00:UNION
@@ -1701,7 +1701,7 @@ max-parallelism=120 segment-costs=[15196746709, 523958] cpu-comparison-result=12
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M
+ extrapolated-rows=disabled max-scan-range-rows=12.31M
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_store_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=0 row-size=16B cardinality=7.88G cost=2132551022
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q08.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q08.test
index 0ece57673..17ae8f893 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q08.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q08.test
@@ -108,8 +108,8 @@ select s_store_name
# end query 8 in stream 0 using template query8.tpl
---- PLAN
-Max Per-Host Resource Reservation: Memory=80.84MB Threads=1
-Per-Host Resource Estimates: Memory=295MB
+Max Per-Host Resource Reservation: Memory=48.77MB Threads=1
+Per-Host Resource Estimates: Memory=177MB
ImpalaSortRel(sort0=[$0], dir0=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0}], EXPR$1=[SUM($1)])
ImpalaProjectRel(S_STORE_NAME=[$5], ss_net_profit=[$1])
@@ -155,7 +155,7 @@ ImpalaSortRel(sort0=[$0], dir0=[ASC], fetch=[100:TINYINT])
ImpalaFilterRel(condition=[AND(=($10, _UTF-8'Y'), IS NOT NULL($4))])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, customer]])
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=294.92MB mem-reservation=80.84MB thread-reservation=1 runtime-filters-memory=5.00MB
+| Per-Instance Resources: mem-estimate=176.92MB mem-reservation=48.77MB thread-reservation=1 runtime-filters-memory=5.00MB
| max-parallelism=1 segment-costs=[3045217, 10622426, 2948, 32441, 803624130, 18, 20]
PLAN-ROOT SINK
| output exprs: tpcds_partitioned_parquet_snap.store.s_store_name, sum(tpcds_partitioned_parquet_snap.store_sales.ss_net_profit)
@@ -205,7 +205,7 @@ PLAN-ROOT SINK
| | output: count()
| | group by: CA_ZIP
| | having: count() = CAST(2 AS BIGINT)
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
| | tuple-ids=17 row-size=20B cardinality=11.19K cost=32441
| | in pipelines: 14(GETNEXT), 08(OPEN), 13(OPEN)
| |
@@ -326,14 +326,14 @@ PLAN-ROOT SINK
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=186(filtered from 1823)
+ extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=186(filtered from 1823)
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_store_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=0 row-size=12B cardinality=803.40M(filtered from 7.88G) cost=169007870
in pipelines: 00(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=165.34MB Threads=26
-Per-Host Resource Estimates: Memory=727MB
+Max Per-Host Resource Reservation: Memory=101.27MB Threads=26
+Per-Host Resource Estimates: Memory=491MB
ImpalaSortRel(sort0=[$0], dir0=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0}], EXPR$1=[SUM($1)])
ImpalaProjectRel(S_STORE_NAME=[$5], ss_net_profit=[$1])
@@ -447,7 +447,7 @@ max-parallelism=90 segment-costs=[803604776, 3086] cpu-comparison-result=90 [max
| | in pipelines: 30(GETNEXT)
| |
| F11:PLAN FRAGMENT [HASH(CA_ZIP)] hosts=10 instances=10
-| Per-Instance Resources: mem-estimate=128.26MB mem-reservation=34.00MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=10.26MB mem-reservation=1.94MB thread-reservation=1
| max-parallelism=10 segment-costs=[34713, 2920] cpu-comparison-result=42 [max(10 (self) vs 42 (sum children))]
| 15:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=01
@@ -489,7 +489,7 @@ max-parallelism=90 segment-costs=[803604776, 3086] cpu-comparison-result=90 [max
| | output: count:merge()
| | group by: CA_ZIP
| | having: count() = CAST(2 AS BIGINT)
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
| | tuple-ids=17 row-size=20B cardinality=11.19K cost=32441
| | in pipelines: 30(GETNEXT), 22(OPEN), 28(OPEN)
| |
@@ -499,12 +499,12 @@ max-parallelism=90 segment-costs=[803604776, 3086] cpu-comparison-result=90 [max
| | in pipelines: 22(GETNEXT), 28(GETNEXT)
| |
| F10:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| Per-Instance Resources: mem-estimate=139.21MB mem-reservation=35.94MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=21.21MB mem-reservation=3.94MB thread-reservation=1
| max-parallelism=10 segment-costs=[73182, 3117, 32441, 20174] cpu-comparison-result=31 [max(10 (self) vs 31 (sum children))]
| 14:AGGREGATE [STREAMING]
| | output: count()
| | group by: CA_ZIP
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
| | tuple-ids=17 row-size=20B cardinality=11.19K cost=32441
| | in pipelines: 22(GETNEXT), 28(GETNEXT)
| |
@@ -729,14 +729,14 @@ max-parallelism=90 segment-costs=[803604776, 3086] cpu-comparison-result=90 [max
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=186(filtered from 1823)
+ extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=186(filtered from 1823)
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_store_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=0 row-size=12B cardinality=803.40M(filtered from 7.88G) cost=169007870
in pipelines: 00(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=165.34MB Threads=26
-Per-Host Resource Estimates: Memory=727MB
+Max Per-Host Resource Reservation: Memory=101.27MB Threads=26
+Per-Host Resource Estimates: Memory=491MB
ImpalaSortRel(sort0=[$0], dir0=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0}], EXPR$1=[SUM($1)])
ImpalaProjectRel(S_STORE_NAME=[$5], ss_net_profit=[$1])
@@ -850,7 +850,7 @@ max-parallelism=90 segment-costs=[803604776, 3086] cpu-comparison-result=90 [max
| | in pipelines: 30(GETNEXT)
| |
| F11:PLAN FRAGMENT [HASH(CA_ZIP)] hosts=10 instances=10
-| Per-Instance Resources: mem-estimate=128.26MB mem-reservation=34.00MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=10.26MB mem-reservation=1.94MB thread-reservation=1
| max-parallelism=10 segment-costs=[34713, 2920] cpu-comparison-result=42 [max(10 (self) vs 42 (sum children))]
| 15:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=01
@@ -892,7 +892,7 @@ max-parallelism=90 segment-costs=[803604776, 3086] cpu-comparison-result=90 [max
| | output: count:merge()
| | group by: CA_ZIP
| | having: count() = CAST(2 AS BIGINT)
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
| | tuple-ids=17 row-size=20B cardinality=11.19K cost=32441
| | in pipelines: 30(GETNEXT), 22(OPEN), 28(OPEN)
| |
@@ -902,12 +902,12 @@ max-parallelism=90 segment-costs=[803604776, 3086] cpu-comparison-result=90 [max
| | in pipelines: 22(GETNEXT), 28(GETNEXT)
| |
| F10:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| Per-Instance Resources: mem-estimate=139.21MB mem-reservation=35.94MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=21.21MB mem-reservation=3.94MB thread-reservation=1
| max-parallelism=10 segment-costs=[73182, 3117, 32441, 20174] cpu-comparison-result=31 [max(10 (self) vs 31 (sum children))]
| 14:AGGREGATE [STREAMING]
| | output: count()
| | group by: CA_ZIP
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
| | tuple-ids=17 row-size=20B cardinality=11.19K cost=32441
| | in pipelines: 22(GETNEXT), 28(GETNEXT)
| |
@@ -1132,7 +1132,7 @@ max-parallelism=90 segment-costs=[803604776, 3086] cpu-comparison-result=90 [max
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=186(filtered from 1823)
+ extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=186(filtered from 1823)
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_store_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=0 row-size=12B cardinality=803.40M(filtered from 7.88G) cost=169007870
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q14a.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q14a.test
index dca920f88..b77302cdd 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q14a.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q14a.test
@@ -102,8 +102,8 @@ with cross_items as
order by channel,i_brand_id,i_class_id,i_category_id
limit 100
---- PLAN
-Max Per-Host Resource Reservation: Memory=332.00MB Threads=1
-Per-Host Resource Estimates: Memory=1.02GB
+Max Per-Host Resource Reservation: Memory=192.31MB Threads=1
+Per-Host Resource Estimates: Memory=4.51GB
ImpalaSortRel(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0, 1, 2, 3}], groups=[[{0, 1, 2, 3}, {0, 1, 2}, {0, 1}, {0}, {}]], EXPR$4=[SUM($4)], EXPR$5=[SUM($5)])
ImpalaUnionRel(all=[true])
@@ -427,8 +427,8 @@ ImpalaSortRel(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
ImpalaFilterRel(condition=[AND(SEARCH($6, Sarg[[1998..2000]]), IS NOT NULL($0))])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, date_dim]])
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=1.02GB mem-reservation=332.00MB thread-reservation=1 runtime-filters-memory=10.00MB
-| max-parallelism=1 segment-costs=[5145400923, 19654022184, 10241405655, 1760391, 2659596, 1470682657, 10759612372, 5145400923, 19654022184, 10241405655, 1760391, 2659596, 764415332, 10759612372, 5145400923, 19654022184, 10241405655, 1760391, 2659596, 386550258, 10759612372, 1150488, 1068766, 1760431, 600]
+| Per-Instance Resources: mem-estimate=4.51GB mem-reservation=192.31MB thread-reservation=1 runtime-filters-memory=10.00MB
+| max-parallelism=1 segment-costs=[5145400923, 19654022184, 10241405655, 1085101, 1769895, 1541597649, 10759612372, 5145400923, 19654022184, 10241405655, 1085101, 1769895, 833573587, 10759612372, 5145400923, 19654022184, 10241405655, 1085101, 1769895, 454768628, 10759612372, 770650, 567803, 886354, 600]
PLAN-ROOT SINK
| output exprs: CASE valid_tid(152,153,154,155,156) WHEN 152 THEN CHANNEL WHEN 153 THEN CHANNEL WHEN 154 THEN CHANNEL WHEN 155 THEN CHANNEL WHEN 156 THEN NULL END, CASE valid_tid(152,153,154,155,156) WHEN 152 THEN I_BRAND_ID WHEN 153 THEN I_BRAND_ID WHEN 154 THEN I_BRAND_ID WHEN 155 THEN NULL WHEN 156 THEN NULL END, CASE valid_tid(152,153,154,155,156) WHEN 152 THEN I_CLASS_ID WHEN 153 THEN I_CLASS_ID WHEN 154 THEN NULL WHEN 155 THEN NULL WHEN 156 THEN NULL END, CASE valid_tid(152,153,15 [...]
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=600
@@ -436,14 +436,14 @@ PLAN-ROOT SINK
136:TOP-N [LIMIT=100]
| order by: CASE valid_tid(152,153,154,155,156) WHEN 152 THEN CHANNEL WHEN 153 THEN CHANNEL WHEN 154 THEN CHANNEL WHEN 155 THEN CHANNEL WHEN 156 THEN NULL END ASC NULLS LAST, CASE valid_tid(152,153,154,155,156) WHEN 152 THEN I_BRAND_ID WHEN 153 THEN I_BRAND_ID WHEN 154 THEN I_BRAND_ID WHEN 155 THEN NULL WHEN 156 THEN NULL END ASC NULLS LAST, CASE valid_tid(152,153,154,155,156) WHEN 152 THEN I_CLASS_ID WHEN 153 THEN I_CLASS_ID WHEN 154 THEN NULL WHEN 155 THEN NULL WHEN 156 THEN NULL END [...]
| mem-estimate=4.69KB mem-reservation=0B thread-reservation=0
-| tuple-ids=158 row-size=48B cardinality=100 cost=1760431
+| tuple-ids=158 row-size=48B cardinality=100 cost=886354
| in pipelines: 136(GETNEXT), 135(OPEN)
|
135:AGGREGATE [FINALIZE]
| output: aggif(valid_tid(152,153,154,155,156) IN (CAST(152 AS INT), CAST(153 AS INT), CAST(154 AS INT), CAST(155 AS INT), CAST(156 AS INT)), CASE valid_tid(152,153,154,155,156) WHEN CAST(152 AS INT) THEN sum(SALES) WHEN CAST(153 AS INT) THEN sum(SALES) WHEN CAST(154 AS INT) THEN sum(SALES) WHEN CAST(155 AS INT) THEN sum(SALES) WHEN CAST(156 AS INT) THEN sum(SALES) END), aggif(valid_tid(152,153,154,155,156) IN (CAST(152 AS INT), CAST(153 AS INT), CAST(154 AS INT), CAST(155 AS INT), CAST [...]
| group by: CASE valid_tid(152,153,154,155,156) WHEN CAST(152 AS INT) THEN CHANNEL WHEN CAST(153 AS INT) THEN CHANNEL WHEN CAST(154 AS INT) THEN CHANNEL WHEN CAST(155 AS INT) THEN CHANNEL WHEN CAST(156 AS INT) THEN NULL END, CASE valid_tid(152,153,154,155,156) WHEN CAST(152 AS INT) THEN I_BRAND_ID WHEN CAST(153 AS INT) THEN I_BRAND_ID WHEN CAST(154 AS INT) THEN I_BRAND_ID WHEN CAST(155 AS INT) THEN NULL WHEN CAST(156 AS INT) THEN NULL END, CASE valid_tid(152,153,154,155,156) WHEN CAST(1 [...]
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=157 row-size=52B cardinality=178.94K cost=1068766
+| mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
+| tuple-ids=157 row-size=52B cardinality=95.07K cost=567803
| in pipelines: 135(GETNEXT), 134(OPEN)
|
134:AGGREGATE [FINALIZE]
@@ -462,8 +462,8 @@ PLAN-ROOT SINK
| Class 4
| output: sum(SALES), sum(NUMBER_SALES)
| group by: NULL, NULL, NULL, NULL
-| mem-estimate=522.00MB mem-reservation=137.94MB thread-reservation=0
-| tuple-ids=152N,153N,154N,155N,156N row-size=240B cardinality=178.94K cost=1133367
+| mem-estimate=64.00MB mem-reservation=40.75MB thread-reservation=0
+| tuple-ids=152N,153N,154N,155N,156N row-size=240B cardinality=95.07K cost=753529
| in pipelines: 134(GETNEXT), 32(OPEN), 76(OPEN), 120(OPEN)
|
00:UNION
@@ -587,7 +587,7 @@ PLAN-ROOT SINK
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=135 row-size=12B cardinality=8.25G cost=1425550548
| | in pipelines: 123(GETNEXT)
@@ -597,22 +597,22 @@ PLAN-ROOT SINK
| | group by: tpcds_partitioned_parquet_snap.item_9.i_brand_id, tpcds_partitioned_parquet_snap.item_9.i_class_id, tpcds_partitioned_parquet_snap.item_9.i_category_id
| | having: sum(multiply(tpcds_partitioned_parquet_snap.web_sales_3.ws_quantity, tpcds_partitioned_parquet_snap.web_sales_3.ws_list_price)) IS NOT NULL
| | mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
-| | tuple-ids=134 row-size=36B cardinality=14.91K cost=184282789
+| | tuple-ids=134 row-size=36B cardinality=14.91K cost=185132315
| | in pipelines: 120(GETNEXT), 90(OPEN)
| |
| 119:HASH JOIN [LEFT SEMI JOIN]
| | hash predicates: tpcds_partitioned_parquet_snap.web_sales_3.ws_item_sk = tpcds_partitioned_parquet_snap.item_10.i_item_sk
| | runtime filters: RF061[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_item_sk
-| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=101,103,105 row-size=44B cardinality=127.14M cost=56176195
+| | mem-estimate=4.27GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=101,103,105 row-size=44B cardinality=127.73M cost=113259169
| | in pipelines: 90(GETNEXT), 117(OPEN)
| |
| |--118:HASH JOIN [INNER JOIN]
| | | hash predicates: BRAND_ID = tpcds_partitioned_parquet_snap.item_10.i_brand_id, CATEGORY_ID = tpcds_partitioned_parquet_snap.item_10.i_category_id, CLASS_ID = tpcds_partitioned_parquet_snap.item_10.i_class_id
| | | fk/pk conjuncts: assumed fk/pk
-| | | runtime filters: RF066[bloom] <- tpcds_partitioned_parquet_snap.item_10.i_brand_id, RF069[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_brand_id, RF070[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_category_id, RF071[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_class_id
+| | | runtime filters: RF069[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_brand_id, RF070[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_category_id, RF071[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_class_id
| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=133,107 row-size=36B cardinality=358.34K cost=538021
+| | | tuple-ids=133,107 row-size=36B cardinality=57.33M cost=10823891
| | | in pipelines: 117(GETNEXT), 95(OPEN)
| | |
| | |--95:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
@@ -631,22 +631,22 @@ PLAN-ROOT SINK
| | | output: count()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | having: count() = CAST(2 AS BIGINT)
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=133 row-size=20B cardinality=447.36K cost=2640587
+| | | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
+| | | tuple-ids=133 row-size=20B cardinality=298.24K cost=1760391
| | | in pipelines: 117(GETNEXT), 116(OPEN), 110(OPEN)
| | |
| | 96:UNION
| | | pass-through-operands: 116
| | | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | | tuple-ids=132 row-size=12B cardinality=447.36K cost=19009
+| | | tuple-ids=132 row-size=12B cardinality=298.24K cost=9504
| | | in pipelines: 116(GETNEXT), 110(GETNEXT)
| | |
| | |--110:AGGREGATE [FINALIZE]
| | | | output: count()
| | | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | | having: count() = CAST(2 AS BIGINT)
-| | | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | | tuple-ids=124 row-size=20B cardinality=298.24K cost=1760391
+| | | | mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
+| | | | tuple-ids=124 row-size=20B cardinality=149.12K cost=1085101
| | | | in pipelines: 110(GETNEXT), 103(OPEN), 109(OPEN)
| | | |
| | | 97:UNION
@@ -664,7 +664,7 @@ PLAN-ROOT SINK
| | | | 108:HASH JOIN [INNER JOIN]
| | | | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_item_sk = tpcds_partitioned_parquet_snap.item_12.i_item_sk
| | | | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_item_sk = tpcds_partitioned_parquet_snap.item_12.i_item_sk
-| | | | | runtime filters: RF081[min_max] <- tpcds_partitioned_parquet_snap.item_12.i_item_sk
+| | | | | runtime filters: RF080[bloom] <- tpcds_partitioned_parquet_snap.item_12.i_item_sk, RF081[min_max] <- tpcds_partitioned_parquet_snap.item_12.i_item_sk
| | | | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | | | | tuple-ids=116,118,120 row-size=32B cardinality=4.28G cost=1872237167
| | | | | in pipelines: 104(GETNEXT), 107(OPEN)
@@ -672,7 +672,7 @@ PLAN-ROOT SINK
| | | | |--107:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
| | | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | | predicates: tpcds_partitioned_parquet_snap.item_12.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_12.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_12.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_12.i_item_sk IS NOT NULL
-| | | | | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.item_12.i_brand_id, RF070[min_max] -> tpcds_partitioned_parquet_snap.item_12.i_category_id, RF071[min_max] -> tpcds_partitioned_parquet_snap.item_12.i_class_id, RF066[bloom] -> tpcds_partitioned_parquet_snap.item_12.i_brand_id
+| | | | | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.item_12.i_brand_id, RF070[min_max] -> tpcds_partitioned_parquet_snap.item_12.i_category_id, RF071[min_max] -> tpcds_partitioned_parquet_snap.item_12.i_class_id
| | | | | stored statistics:
| | | | | table: rows=360.00K size=33.54MB
| | | | | columns: all
@@ -706,7 +706,7 @@ PLAN-ROOT SINK
| | | | partition predicates: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_sold_date_sk IS NOT NULL
| | | | HDFS partitions=1830/1831 files=1830 size=280.81GB
| | | | predicates: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_item_sk IS NOT NULL
-| | | | runtime filters: RF081[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_4.cs_item_sk
+| | | | runtime filters: RF081[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_4.cs_item_sk, RF080[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_4.cs_item_sk
| | | | stored statistics:
| | | | table: rows=4.32G size=280.96GB
| | | | partitions: 1830/1830 rows=4.30G
@@ -726,7 +726,7 @@ PLAN-ROOT SINK
| | | 102:HASH JOIN [INNER JOIN]
| | | | hash predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk = tpcds_partitioned_parquet_snap.item_11.i_item_sk
| | | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk = tpcds_partitioned_parquet_snap.item_11.i_item_sk
-| | | | runtime filters: RF077[min_max] <- tpcds_partitioned_parquet_snap.item_11.i_item_sk
+| | | | runtime filters: RF076[bloom] <- tpcds_partitioned_parquet_snap.item_11.i_item_sk, RF077[min_max] <- tpcds_partitioned_parquet_snap.item_11.i_item_sk
| | | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | | | tuple-ids=109,111,113 row-size=32B cardinality=8.21G cost=3592831645
| | | | in pipelines: 98(GETNEXT), 101(OPEN)
@@ -734,7 +734,7 @@ PLAN-ROOT SINK
| | | |--101:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
| | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | predicates: tpcds_partitioned_parquet_snap.item_11.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_11.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_11.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_11.i_item_sk IS NOT NULL
-| | | | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.item_11.i_brand_id, RF070[min_max] -> tpcds_partitioned_parquet_snap.item_11.i_category_id, RF071[min_max] -> tpcds_partitioned_parquet_snap.item_11.i_class_id, RF066[bloom] -> tpcds_partitioned_parquet_snap.item_11.i_brand_id
+| | | | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.item_11.i_brand_id, RF070[min_max] -> tpcds_partitioned_parquet_snap.item_11.i_category_id, RF071[min_max] -> tpcds_partitioned_parquet_snap.item_11.i_class_id
| | | | stored statistics:
| | | | table: rows=360.00K size=33.54MB
| | | | columns: all
@@ -768,12 +768,12 @@ PLAN-ROOT SINK
| | | partition predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_sold_date_sk IS NOT NULL
| | | HDFS partitions=1823/1824 files=1823 size=389.69GB
| | | predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk IS NOT NULL
-| | | runtime filters: RF077[min_max] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk
+| | | runtime filters: RF077[min_max] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk, RF076[bloom] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk
| | | stored statistics:
| | | table: rows=8.64G size=389.90GB
| | | partitions: 1823/1823 rows=8.25G
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk IS NOT NULL
| | | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | | tuple-ids=109 row-size=8B cardinality=8.21G(filtered from 8.25G) cost=1182183990
@@ -796,7 +796,7 @@ PLAN-ROOT SINK
| | |--114:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
| | | HDFS partitions=1/1 files=1 size=33.54MB
| | | predicates: tpcds_partitioned_parquet_snap.item_13.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_13.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_13.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_13.i_item_sk IS NOT NULL
-| | | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.item_13.i_brand_id, RF070[min_max] -> tpcds_partitioned_parquet_snap.item_13.i_category_id, RF071[min_max] -> tpcds_partitioned_parquet_snap.item_13.i_class_id, RF066[bloom] -> tpcds_partitioned_parquet_snap.item_13.i_brand_id
+| | | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.item_13.i_brand_id, RF070[min_max] -> tpcds_partitioned_parquet_snap.item_13.i_category_id, RF071[min_max] -> tpcds_partitioned_parquet_snap.item_13.i_class_id
| | | stored statistics:
| | | table: rows=360.00K size=33.54MB
| | | columns: all
@@ -1018,7 +1018,7 @@ PLAN-ROOT SINK
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=84 row-size=12B cardinality=8.25G cost=1425550548
| | in pipelines: 79(GETNEXT)
@@ -1028,22 +1028,22 @@ PLAN-ROOT SINK
| | group by: tpcds_partitioned_parquet_snap.item_4.i_brand_id, tpcds_partitioned_parquet_snap.item_4.i_class_id, tpcds_partitioned_parquet_snap.item_4.i_category_id
| | having: sum(multiply(tpcds_partitioned_parquet_snap.catalog_sales_1.cs_quantity, tpcds_partitioned_parquet_snap.catalog_sales_1.cs_list_price)) IS NOT NULL
| | mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
-| | tuple-ids=83 row-size=36B cardinality=14.91K cost=364772014
+| | tuple-ids=83 row-size=36B cardinality=14.91K cost=366456641
| | in pipelines: 76(GETNEXT), 46(OPEN)
| |
| 75:HASH JOIN [LEFT SEMI JOIN]
| | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk = tpcds_partitioned_parquet_snap.item_5.i_item_sk
| | runtime filters: RF031[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_item_sk
-| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=50,52,54 row-size=44B cardinality=252.13M cost=111046074
+| | mem-estimate=4.27GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=50,52,54 row-size=44B cardinality=253.29M cost=168233832
| | in pipelines: 46(GETNEXT), 73(OPEN)
| |
| |--74:HASH JOIN [INNER JOIN]
| | | hash predicates: BRAND_ID = tpcds_partitioned_parquet_snap.item_5.i_brand_id, CATEGORY_ID = tpcds_partitioned_parquet_snap.item_5.i_category_id, CLASS_ID = tpcds_partitioned_parquet_snap.item_5.i_class_id
| | | fk/pk conjuncts: assumed fk/pk
-| | | runtime filters: RF036[bloom] <- tpcds_partitioned_parquet_snap.item_5.i_brand_id, RF037[bloom] <- tpcds_partitioned_parquet_snap.item_5.i_category_id, RF038[bloom] <- tpcds_partitioned_parquet_snap.item_5.i_class_id, RF039[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_brand_id, RF040[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_category_id, RF041[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_class_id
+| | | runtime filters: RF039[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_brand_id, RF040[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_category_id, RF041[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_class_id
| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=82,56 row-size=36B cardinality=358.34K cost=538021
+| | | tuple-ids=82,56 row-size=36B cardinality=57.33M cost=10823891
| | | in pipelines: 73(GETNEXT), 51(OPEN)
| | |
| | |--51:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
@@ -1062,22 +1062,22 @@ PLAN-ROOT SINK
| | | output: count()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | having: count() = CAST(2 AS BIGINT)
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=82 row-size=20B cardinality=447.36K cost=2640587
+| | | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
+| | | tuple-ids=82 row-size=20B cardinality=298.24K cost=1760391
| | | in pipelines: 73(GETNEXT), 72(OPEN), 66(OPEN)
| | |
| | 52:UNION
| | | pass-through-operands: 72
| | | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | | tuple-ids=81 row-size=12B cardinality=447.36K cost=19009
+| | | tuple-ids=81 row-size=12B cardinality=298.24K cost=9504
| | | in pipelines: 72(GETNEXT), 66(GETNEXT)
| | |
| | |--66:AGGREGATE [FINALIZE]
| | | | output: count()
| | | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | | having: count() = CAST(2 AS BIGINT)
-| | | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | | tuple-ids=73 row-size=20B cardinality=298.24K cost=1760391
+| | | | mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
+| | | | tuple-ids=73 row-size=20B cardinality=149.12K cost=1085101
| | | | in pipelines: 66(GETNEXT), 59(OPEN), 65(OPEN)
| | | |
| | | 53:UNION
@@ -1095,7 +1095,7 @@ PLAN-ROOT SINK
| | | | 64:HASH JOIN [INNER JOIN]
| | | | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_item_sk = tpcds_partitioned_parquet_snap.item_7.i_item_sk
| | | | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_item_sk = tpcds_partitioned_parquet_snap.item_7.i_item_sk
-| | | | | runtime filters: RF051[min_max] <- tpcds_partitioned_parquet_snap.item_7.i_item_sk
+| | | | | runtime filters: RF050[bloom] <- tpcds_partitioned_parquet_snap.item_7.i_item_sk, RF051[min_max] <- tpcds_partitioned_parquet_snap.item_7.i_item_sk
| | | | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | | | | tuple-ids=65,67,69 row-size=32B cardinality=4.28G cost=1872237167
| | | | | in pipelines: 60(GETNEXT), 63(OPEN)
@@ -1103,7 +1103,7 @@ PLAN-ROOT SINK
| | | | |--63:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
| | | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | | predicates: tpcds_partitioned_parquet_snap.item_7.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_7.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_7.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_7.i_item_sk IS NOT NULL
-| | | | | runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_brand_id, RF040[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_category_id, RF041[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_class_id, RF036[bloom] -> tpcds_partitioned_parquet_snap.item_7.i_brand_id, RF037[bloom] -> tpcds_partitioned_parquet_snap.item_7.i_category_id, RF038[bloom] -> tpcds_partitioned_parquet_snap.item_7.i_class_id
+| | | | | runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_brand_id, RF040[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_category_id, RF041[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_class_id
| | | | | stored statistics:
| | | | | table: rows=360.00K size=33.54MB
| | | | | columns: all
@@ -1137,7 +1137,7 @@ PLAN-ROOT SINK
| | | | partition predicates: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_sold_date_sk IS NOT NULL
| | | | HDFS partitions=1830/1831 files=1830 size=280.81GB
| | | | predicates: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_item_sk IS NOT NULL
-| | | | runtime filters: RF051[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_item_sk
+| | | | runtime filters: RF051[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_item_sk, RF050[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_item_sk
| | | | stored statistics:
| | | | table: rows=4.32G size=280.96GB
| | | | partitions: 1830/1830 rows=4.30G
@@ -1157,7 +1157,7 @@ PLAN-ROOT SINK
| | | 58:HASH JOIN [INNER JOIN]
| | | | hash predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk = tpcds_partitioned_parquet_snap.item_6.i_item_sk
| | | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk = tpcds_partitioned_parquet_snap.item_6.i_item_sk
-| | | | runtime filters: RF047[min_max] <- tpcds_partitioned_parquet_snap.item_6.i_item_sk
+| | | | runtime filters: RF046[bloom] <- tpcds_partitioned_parquet_snap.item_6.i_item_sk, RF047[min_max] <- tpcds_partitioned_parquet_snap.item_6.i_item_sk
| | | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | | | tuple-ids=58,60,62 row-size=32B cardinality=8.21G cost=3592831645
| | | | in pipelines: 54(GETNEXT), 57(OPEN)
@@ -1165,7 +1165,7 @@ PLAN-ROOT SINK
| | | |--57:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
| | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | predicates: tpcds_partitioned_parquet_snap.item_6.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_6.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_6.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_6.i_item_sk IS NOT NULL
-| | | | runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_brand_id, RF040[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_category_id, RF041[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_class_id, RF036[bloom] -> tpcds_partitioned_parquet_snap.item_6.i_brand_id, RF037[bloom] -> tpcds_partitioned_parquet_snap.item_6.i_category_id, RF038[bloom] -> tpcds_partitioned_parquet_snap.item_6.i_class_id
+| | | | runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_brand_id, RF040[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_category_id, RF041[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_class_id
| | | | stored statistics:
| | | | table: rows=360.00K size=33.54MB
| | | | columns: all
@@ -1199,12 +1199,12 @@ PLAN-ROOT SINK
| | | partition predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_sold_date_sk IS NOT NULL
| | | HDFS partitions=1823/1824 files=1823 size=389.69GB
| | | predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk IS NOT NULL
-| | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk
+| | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk, RF046[bloom] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk
| | | stored statistics:
| | | table: rows=8.64G size=389.90GB
| | | partitions: 1823/1823 rows=8.25G
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk IS NOT NULL
| | | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | | tuple-ids=58 row-size=8B cardinality=8.21G(filtered from 8.25G) cost=1182183990
@@ -1227,7 +1227,7 @@ PLAN-ROOT SINK
| | |--70:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
| | | HDFS partitions=1/1 files=1 size=33.54MB
| | | predicates: tpcds_partitioned_parquet_snap.item_8.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_8.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_8.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_8.i_item_sk IS NOT NULL
-| | | runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_brand_id, RF040[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_category_id, RF041[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_class_id, RF036[bloom] -> tpcds_partitioned_parquet_snap.item_8.i_brand_id, RF037[bloom] -> tpcds_partitioned_parquet_snap.item_8.i_category_id, RF038[bloom] -> tpcds_partitioned_parquet_snap.item_8.i_class_id
+| | | runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_brand_id, RF040[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_category_id, RF041[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_class_id
| | | stored statistics:
| | | table: rows=360.00K size=33.54MB
| | | columns: all
@@ -1444,7 +1444,7 @@ PLAN-ROOT SINK
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M
+| extrapolated-rows=disabled max-scan-range-rows=12.31M
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=34 row-size=12B cardinality=8.25G cost=1425550548
| in pipelines: 35(GETNEXT)
@@ -1454,22 +1454,22 @@ PLAN-ROOT SINK
| group by: tpcds_partitioned_parquet_snap.item.i_brand_id, tpcds_partitioned_parquet_snap.item.i_class_id, tpcds_partitioned_parquet_snap.item.i_category_id
| having: sum(multiply(tpcds_partitioned_parquet_snap.store_sales.ss_quantity, tpcds_partitioned_parquet_snap.store_sales.ss_list_price)) IS NOT NULL
| mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
-| tuple-ids=33 row-size=36B cardinality=14.91K cost=702124290
+| tuple-ids=33 row-size=36B cardinality=14.91K cost=705369800
| in pipelines: 32(GETNEXT), 02(OPEN)
|
31:HASH JOIN [LEFT SEMI JOIN]
| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item_0.i_item_sk
| runtime filters: RF001[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_item_sk
-| mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=0,2,4 row-size=44B cardinality=485.73M cost=213603323
+| mem-estimate=4.27GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=0,2,4 row-size=44B cardinality=487.98M cost=270986935
| in pipelines: 02(GETNEXT), 29(OPEN)
|
|--30:HASH JOIN [INNER JOIN]
| | hash predicates: BRAND_ID = tpcds_partitioned_parquet_snap.item_0.i_brand_id, CATEGORY_ID = tpcds_partitioned_parquet_snap.item_0.i_category_id, CLASS_ID = tpcds_partitioned_parquet_snap.item_0.i_class_id
| | fk/pk conjuncts: assumed fk/pk
-| | runtime filters: RF006[bloom] <- tpcds_partitioned_parquet_snap.item_0.i_brand_id, RF007[bloom] <- tpcds_partitioned_parquet_snap.item_0.i_category_id, RF008[bloom] <- tpcds_partitioned_parquet_snap.item_0.i_class_id, RF009[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_brand_id, RF010[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_category_id, RF011[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_class_id
+| | runtime filters: RF009[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_brand_id, RF010[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_category_id, RF011[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_class_id
| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=32,6 row-size=36B cardinality=358.34K cost=538021
+| | tuple-ids=32,6 row-size=36B cardinality=57.33M cost=10823891
| | in pipelines: 29(GETNEXT), 07(OPEN)
| |
| |--07:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
@@ -1488,22 +1488,22 @@ PLAN-ROOT SINK
| | output: count()
| | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | having: count() = CAST(2 AS BIGINT)
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=32 row-size=20B cardinality=447.36K cost=2640587
+| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
+| | tuple-ids=32 row-size=20B cardinality=298.24K cost=1760391
| | in pipelines: 29(GETNEXT), 28(OPEN), 22(OPEN)
| |
| 08:UNION
| | pass-through-operands: 28
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=31 row-size=12B cardinality=447.36K cost=19009
+| | tuple-ids=31 row-size=12B cardinality=298.24K cost=9504
| | in pipelines: 28(GETNEXT), 22(GETNEXT)
| |
| |--22:AGGREGATE [FINALIZE]
| | | output: count()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | having: count() = CAST(2 AS BIGINT)
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=23 row-size=20B cardinality=298.24K cost=1760391
+| | | mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
+| | | tuple-ids=23 row-size=20B cardinality=149.12K cost=1085101
| | | in pipelines: 22(GETNEXT), 15(OPEN), 21(OPEN)
| | |
| | 09:UNION
@@ -1521,7 +1521,7 @@ PLAN-ROOT SINK
| | | 20:HASH JOIN [INNER JOIN]
| | | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk = tpcds_partitioned_parquet_snap.item_2.i_item_sk
| | | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk = tpcds_partitioned_parquet_snap.item_2.i_item_sk
-| | | | runtime filters: RF021[min_max] <- tpcds_partitioned_parquet_snap.item_2.i_item_sk
+| | | | runtime filters: RF020[bloom] <- tpcds_partitioned_parquet_snap.item_2.i_item_sk, RF021[min_max] <- tpcds_partitioned_parquet_snap.item_2.i_item_sk
| | | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | | | tuple-ids=15,17,19 row-size=32B cardinality=4.28G cost=1872237167
| | | | in pipelines: 16(GETNEXT), 19(OPEN)
@@ -1529,7 +1529,7 @@ PLAN-ROOT SINK
| | | |--19:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
| | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | predicates: tpcds_partitioned_parquet_snap.item_2.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_2.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_2.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_2.i_item_sk IS NOT NULL
-| | | | runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_brand_id, RF010[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_category_id, RF011[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_class_id, RF006[bloom] -> tpcds_partitioned_parquet_snap.item_2.i_brand_id, RF007[bloom] -> tpcds_partitioned_parquet_snap.item_2.i_category_id, RF008[bloom] -> tpcds_partitioned_parquet_snap.item_2.i_class_id
+| | | | runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_brand_id, RF010[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_category_id, RF011[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_class_id
| | | | stored statistics:
| | | | table: rows=360.00K size=33.54MB
| | | | columns: all
@@ -1563,7 +1563,7 @@ PLAN-ROOT SINK
| | | partition predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_sold_date_sk IS NOT NULL
| | | HDFS partitions=1830/1831 files=1830 size=280.81GB
| | | predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk IS NOT NULL
-| | | runtime filters: RF021[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk
+| | | runtime filters: RF021[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk, RF020[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk
| | | stored statistics:
| | | table: rows=4.32G size=280.96GB
| | | partitions: 1830/1830 rows=4.30G
@@ -1583,7 +1583,7 @@ PLAN-ROOT SINK
| | 14:HASH JOIN [INNER JOIN]
| | | hash predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk = tpcds_partitioned_parquet_snap.item_1.i_item_sk
| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk = tpcds_partitioned_parquet_snap.item_1.i_item_sk
-| | | runtime filters: RF017[min_max] <- tpcds_partitioned_parquet_snap.item_1.i_item_sk
+| | | runtime filters: RF016[bloom] <- tpcds_partitioned_parquet_snap.item_1.i_item_sk, RF017[min_max] <- tpcds_partitioned_parquet_snap.item_1.i_item_sk
| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=8,10,12 row-size=32B cardinality=8.21G cost=3592831645
| | | in pipelines: 10(GETNEXT), 13(OPEN)
@@ -1591,7 +1591,7 @@ PLAN-ROOT SINK
| | |--13:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
| | | HDFS partitions=1/1 files=1 size=33.54MB
| | | predicates: tpcds_partitioned_parquet_snap.item_1.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_1.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_1.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_1.i_item_sk IS NOT NULL
-| | | runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_brand_id, RF010[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_category_id, RF011[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_class_id, RF006[bloom] -> tpcds_partitioned_parquet_snap.item_1.i_brand_id, RF007[bloom] -> tpcds_partitioned_parquet_snap.item_1.i_category_id, RF008[bloom] -> tpcds_partitioned_parquet_snap.item_1.i_class_id
+| | | runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_brand_id, RF010[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_category_id, RF011[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_class_id
| | | stored statistics:
| | | table: rows=360.00K size=33.54MB
| | | columns: all
@@ -1625,12 +1625,12 @@ PLAN-ROOT SINK
| | partition predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_sold_date_sk IS NOT NULL
| | HDFS partitions=1823/1824 files=1823 size=389.69GB
| | predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk IS NOT NULL
-| | runtime filters: RF017[min_max] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk
+| | runtime filters: RF017[min_max] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk, RF016[bloom] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk
| | stored statistics:
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=8 row-size=8B cardinality=8.21G(filtered from 8.25G) cost=1182183990
@@ -1645,7 +1645,7 @@ PLAN-ROOT SINK
| 27:HASH JOIN [INNER JOIN]
| | hash predicates: tpcds_partitioned_parquet_snap.web_sales.ws_item_sk = tpcds_partitioned_parquet_snap.item_3.i_item_sk
| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales.ws_item_sk = tpcds_partitioned_parquet_snap.item_3.i_item_sk
-| | runtime filters: RF013[min_max] <- tpcds_partitioned_parquet_snap.item_3.i_item_sk
+| | runtime filters: RF012[bloom] <- tpcds_partitioned_parquet_snap.item_3.i_item_sk, RF013[min_max] <- tpcds_partitioned_parquet_snap.item_3.i_item_sk
| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=24,26,28 row-size=32B cardinality=2.15G cost=940704732
| | in pipelines: 23(GETNEXT), 26(OPEN)
@@ -1653,7 +1653,7 @@ PLAN-ROOT SINK
| |--26:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
| | HDFS partitions=1/1 files=1 size=33.54MB
| | predicates: tpcds_partitioned_parquet_snap.item_3.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_3.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_3.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_3.i_item_sk IS NOT NULL
-| | runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_brand_id, RF010[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_category_id, RF011[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_class_id, RF006[bloom] -> tpcds_partitioned_parquet_snap.item_3.i_brand_id, RF007[bloom] -> tpcds_partitioned_parquet_snap.item_3.i_category_id, RF008[bloom] -> tpcds_partitioned_parquet_snap.item_3.i_class_id
+| | runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_brand_id, RF010[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_category_id, RF011[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_class_id
| | stored statistics:
| | table: rows=360.00K size=33.54MB
| | columns: all
@@ -1687,7 +1687,7 @@ PLAN-ROOT SINK
| partition predicates: tpcds_partitioned_parquet_snap.web_sales.ws_sold_date_sk IS NOT NULL
| HDFS partitions=1823/1824 files=1823 size=145.67GB
| predicates: tpcds_partitioned_parquet_snap.web_sales.ws_item_sk IS NOT NULL
-| runtime filters: RF013[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk
+| runtime filters: RF013[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk, RF012[bloom] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk
| stored statistics:
| table: rows=2.16G size=145.75GB
| partitions: 1823/1823 rows=2.16G
@@ -1749,14 +1749,14 @@ PLAN-ROOT SINK
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=108(filtered from 1823)
+ extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=108(filtered from 1823)
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=0 row-size=16B cardinality=488.47M(filtered from 8.25G) cost=126269468
in pipelines: 02(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=12.17GB Threads=338
-Per-Host Resource Estimates: Memory=33.38GB
+Max Per-Host Resource Reservation: Memory=7.04GB Threads=382
+Per-Host Resource Estimates: Memory=16.30GB
ImpalaSortRel(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0, 1, 2, 3}], groups=[[{0, 1, 2, 3}, {0, 1, 2}, {0, 1}, {0}, {}]], EXPR$4=[SUM($4)], EXPR$5=[SUM($5)])
ImpalaUnionRel(all=[true])
@@ -2079,37 +2079,37 @@ ImpalaSortRel(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
ImpalaProjectRel(d_date_sk=[$0], d_year=[$6])
ImpalaFilterRel(condition=[AND(SEARCH($6, Sarg[[1998..2000]]), IS NOT NULL($0))])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, date_dim]])
-F93:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
+F96:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.05MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[634] cpu-comparison-result=1557 [max(1 (self) vs 1557 (sum children))]
+| max-parallelism=1 segment-costs=[634] cpu-comparison-result=1617 [max(1 (self) vs 1617 (sum children))]
PLAN-ROOT SINK
| output exprs: CASE valid_tid(152,153,154,155,156) WHEN 152 THEN CHANNEL WHEN 153 THEN CHANNEL WHEN 154 THEN CHANNEL WHEN 155 THEN CHANNEL WHEN 156 THEN NULL END, CASE valid_tid(152,153,154,155,156) WHEN 152 THEN I_BRAND_ID WHEN 153 THEN I_BRAND_ID WHEN 154 THEN I_BRAND_ID WHEN 155 THEN NULL WHEN 156 THEN NULL END, CASE valid_tid(152,153,154,155,156) WHEN 152 THEN I_CLASS_ID WHEN 153 THEN I_CLASS_ID WHEN 154 THEN NULL WHEN 155 THEN NULL WHEN 156 THEN NULL END, CASE valid_tid(152,153,15 [...]
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=600
|
-223:MERGING-EXCHANGE [UNPARTITIONED]
+226:MERGING-EXCHANGE [UNPARTITIONED]
| order by: CASE valid_tid(152,153,154,155,156) WHEN 152 THEN CHANNEL WHEN 153 THEN CHANNEL WHEN 154 THEN CHANNEL WHEN 155 THEN CHANNEL WHEN 156 THEN NULL END ASC NULLS LAST, CASE valid_tid(152,153,154,155,156) WHEN 152 THEN I_BRAND_ID WHEN 153 THEN I_BRAND_ID WHEN 154 THEN I_BRAND_ID WHEN 155 THEN NULL WHEN 156 THEN NULL END ASC NULLS LAST, CASE valid_tid(152,153,154,155,156) WHEN 152 THEN I_CLASS_ID WHEN 153 THEN I_CLASS_ID WHEN 154 THEN NULL WHEN 155 THEN NULL WHEN 156 THEN NULL END [...]
| limit: 100
| mem-estimate=51.25KB mem-reservation=0B thread-reservation=0
| tuple-ids=158 row-size=48B cardinality=100 cost=34
| in pipelines: 136(GETNEXT)
|
-F92:PLAN FRAGMENT [HASH(CASE valid_tid(152,153,154,155,156) WHEN 152 THEN murmur_hash(CHANNEL) WHEN 153 THEN murmur_hash(CHANNEL) WHEN 154 THEN murmur_hash(CHANNEL) WHEN 155 THEN murmur_hash(CHANNEL) WHEN 156 THEN murmur_hash(NULL) END,CASE valid_tid(152,153,154,155,156) WHEN 152 THEN murmur_hash(I_BRAND_ID) WHEN 153 THEN murmur_hash(I_BRAND_ID) WHEN 154 THEN murmur_hash(I_BRAND_ID) WHEN 155 THEN murmur_hash(NULL) WHEN 156 THEN murmur_hash(NULL) END,CASE valid_tid(152,153,154,155,156) WH [...]
-Per-Instance Resources: mem-estimate=650.00MB mem-reservation=171.94MB thread-reservation=1
-max-parallelism=10 segment-costs=[1312875, 1068766, 1760431, 157] cpu-comparison-result=1557 [max(10 (self) vs 1557 (sum children))]
+F95:PLAN FRAGMENT [HASH(CASE valid_tid(152,153,154,155,156) WHEN 152 THEN murmur_hash(CHANNEL) WHEN 153 THEN murmur_hash(CHANNEL) WHEN 154 THEN murmur_hash(CHANNEL) WHEN 155 THEN murmur_hash(CHANNEL) WHEN 156 THEN murmur_hash(NULL) END,CASE valid_tid(152,153,154,155,156) WHEN 152 THEN murmur_hash(I_BRAND_ID) WHEN 153 THEN murmur_hash(I_BRAND_ID) WHEN 154 THEN murmur_hash(I_BRAND_ID) WHEN 155 THEN murmur_hash(NULL) WHEN 156 THEN murmur_hash(NULL) END,CASE valid_tid(152,153,154,155,156) WH [...]
+Per-Instance Resources: mem-estimate=70.82MB mem-reservation=14.44MB thread-reservation=1
+max-parallelism=10 segment-costs=[804527, 567803, 886354, 157] cpu-comparison-result=1617 [max(10 (self) vs 1617 (sum children))]
136:TOP-N [LIMIT=100]
| order by: CASE valid_tid(152,153,154,155,156) WHEN 152 THEN CHANNEL WHEN 153 THEN CHANNEL WHEN 154 THEN CHANNEL WHEN 155 THEN CHANNEL WHEN 156 THEN NULL END ASC NULLS LAST, CASE valid_tid(152,153,154,155,156) WHEN 152 THEN I_BRAND_ID WHEN 153 THEN I_BRAND_ID WHEN 154 THEN I_BRAND_ID WHEN 155 THEN NULL WHEN 156 THEN NULL END ASC NULLS LAST, CASE valid_tid(152,153,154,155,156) WHEN 152 THEN I_CLASS_ID WHEN 153 THEN I_CLASS_ID WHEN 154 THEN NULL WHEN 155 THEN NULL WHEN 156 THEN NULL END [...]
| mem-estimate=4.69KB mem-reservation=0B thread-reservation=0
-| tuple-ids=158 row-size=48B cardinality=100 cost=1760431
+| tuple-ids=158 row-size=48B cardinality=100 cost=886354
| in pipelines: 136(GETNEXT), 135(OPEN)
|
135:AGGREGATE [FINALIZE]
| output: aggif(valid_tid(152,153,154,155,156) IN (CAST(152 AS INT), CAST(153 AS INT), CAST(154 AS INT), CAST(155 AS INT), CAST(156 AS INT)), CASE valid_tid(152,153,154,155,156) WHEN CAST(152 AS INT) THEN sum(SALES) WHEN CAST(153 AS INT) THEN sum(SALES) WHEN CAST(154 AS INT) THEN sum(SALES) WHEN CAST(155 AS INT) THEN sum(SALES) WHEN CAST(156 AS INT) THEN sum(SALES) END), aggif(valid_tid(152,153,154,155,156) IN (CAST(152 AS INT), CAST(153 AS INT), CAST(154 AS INT), CAST(155 AS INT), CAST [...]
| group by: CASE valid_tid(152,153,154,155,156) WHEN CAST(152 AS INT) THEN CHANNEL WHEN CAST(153 AS INT) THEN CHANNEL WHEN CAST(154 AS INT) THEN CHANNEL WHEN CAST(155 AS INT) THEN CHANNEL WHEN CAST(156 AS INT) THEN NULL END, CASE valid_tid(152,153,154,155,156) WHEN CAST(152 AS INT) THEN I_BRAND_ID WHEN CAST(153 AS INT) THEN I_BRAND_ID WHEN CAST(154 AS INT) THEN I_BRAND_ID WHEN CAST(155 AS INT) THEN NULL WHEN CAST(156 AS INT) THEN NULL END, CASE valid_tid(152,153,154,155,156) WHEN CAST(1 [...]
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=157 row-size=52B cardinality=178.94K cost=1068766
-| in pipelines: 135(GETNEXT), 222(OPEN)
+| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=157 row-size=52B cardinality=95.07K cost=567803
+| in pipelines: 135(GETNEXT), 225(OPEN)
|
-222:AGGREGATE [FINALIZE]
+225:AGGREGATE [FINALIZE]
| Class 0
| output: sum:merge(SALES), sum:merge(NUMBER_SALES)
| group by: CHANNEL, I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID
@@ -2125,18 +2125,18 @@ max-parallelism=10 segment-costs=[1312875, 1068766, 1760431, 157] cpu-comparison
| Class 4
| output: sum:merge(SALES), sum:merge(NUMBER_SALES)
| group by: NULL, NULL, NULL, NULL
-| mem-estimate=522.00MB mem-reservation=137.94MB thread-reservation=0
-| tuple-ids=152N,153N,154N,155N,156N row-size=240B cardinality=178.94K cost=1068937
-| in pipelines: 222(GETNEXT), 158(OPEN), 186(OPEN), 214(OPEN)
+| mem-estimate=50.00MB mem-reservation=12.50MB thread-reservation=0
+| tuple-ids=152N,153N,154N,155N,156N row-size=240B cardinality=95.07K cost=622971
+| in pipelines: 225(GETNEXT), 159(OPEN), 188(OPEN), 217(OPEN)
|
-221:EXCHANGE [HASH(CASE valid_tid(152,153,154,155,156) WHEN 152 THEN murmur_hash(CHANNEL) WHEN 153 THEN murmur_hash(CHANNEL) WHEN 154 THEN murmur_hash(CHANNEL) WHEN 155 THEN murmur_hash(CHANNEL) WHEN 156 THEN murmur_hash(NULL) END,CASE valid_tid(152,153,154,155,156) WHEN 152 THEN murmur_hash(I_BRAND_ID) WHEN 153 THEN murmur_hash(I_BRAND_ID) WHEN 154 THEN murmur_hash(I_BRAND_ID) WHEN 155 THEN murmur_hash(NULL) WHEN 156 THEN murmur_hash(NULL) END,CASE valid_tid(152,153,154,155,156) WHEN 15 [...]
-| mem-estimate=31.52MB mem-reservation=0B thread-reservation=0
-| tuple-ids=152N,153N,154N,155N,156N row-size=240B cardinality=179.06K cost=243938
-| in pipelines: 158(GETNEXT), 186(GETNEXT), 214(GETNEXT)
+224:EXCHANGE [HASH(CASE valid_tid(152,153,154,155,156) WHEN 152 THEN murmur_hash(CHANNEL) WHEN 153 THEN murmur_hash(CHANNEL) WHEN 154 THEN murmur_hash(CHANNEL) WHEN 155 THEN murmur_hash(CHANNEL) WHEN 156 THEN murmur_hash(NULL) END,CASE valid_tid(152,153,154,155,156) WHEN 152 THEN murmur_hash(I_BRAND_ID) WHEN 153 THEN murmur_hash(I_BRAND_ID) WHEN 154 THEN murmur_hash(I_BRAND_ID) WHEN 155 THEN murmur_hash(NULL) WHEN 156 THEN murmur_hash(NULL) END,CASE valid_tid(152,153,154,155,156) WHEN 15 [...]
+| mem-estimate=20.82MB mem-reservation=0B thread-reservation=0
+| tuple-ids=152N,153N,154N,155N,156N row-size=240B cardinality=133.27K cost=181556
+| in pipelines: 159(GETNEXT), 188(GETNEXT), 217(GETNEXT)
|
-F91:PLAN FRAGMENT [RANDOM] hosts=10 instances=108 (adjusted from 120)
-Per-Instance Resources: mem-estimate=556.38MB mem-reservation=146.50MB thread-reservation=1
-max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 3228882] cpu-comparison-result=1557 [max(108 (self) vs 1557 (sum children))]
+F94:PLAN FRAGMENT [RANDOM] hosts=10 instances=70 (adjusted from 120)
+Per-Instance Resources: mem-estimate=82.89MB mem-reservation=18.50MB thread-reservation=1
+max-parallelism=70 segment-costs=[31467972, 31467972, 31443606, 943657, 2403160] cpu-comparison-result=1617 [max(70 (self) vs 1617 (sum children))]
134:AGGREGATE [STREAMING]
| Class 0
| output: sum(SALES), sum(NUMBER_SALES)
@@ -2153,51 +2153,51 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| Class 4
| output: sum(SALES), sum(NUMBER_SALES)
| group by: NULL, NULL, NULL, NULL
-| mem-estimate=522.00MB mem-reservation=138.00MB thread-reservation=0
-| tuple-ids=152N,153N,154N,155N,156N row-size=240B cardinality=179.06K cost=1133906
-| in pipelines: 158(GETNEXT), 186(GETNEXT), 214(GETNEXT)
+| mem-estimate=50.00MB mem-reservation=10.00MB thread-reservation=0
+| tuple-ids=152N,153N,154N,155N,156N row-size=240B cardinality=133.27K cost=926536
+| in pipelines: 159(GETNEXT), 188(GETNEXT), 217(GETNEXT)
|
00:UNION
| pass-through-operands: 01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=151 row-size=48B cardinality=44.74K cost=2652
-| in pipelines: 158(GETNEXT), 186(GETNEXT), 214(GETNEXT)
+| in pipelines: 159(GETNEXT), 188(GETNEXT), 217(GETNEXT)
|
|--133:NESTED LOOP JOIN [INNER JOIN, BROADCAST]
| | join table id: 08
| | predicates: sum(multiply(tpcds_partitioned_parquet_snap.web_sales_3.ws_quantity, tpcds_partitioned_parquet_snap.web_sales_3.ws_list_price)) > CAST(avg(multiply(QUANTITY, LIST_PRICE)) AS DECIMAL(38,2))
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=134,150 row-size=52B cardinality=14.91K cost=3055
-| | in pipelines: 214(GETNEXT), 219(OPEN)
+| | in pipelines: 217(GETNEXT), 222(OPEN)
| |
-| |--F102:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| |--F105:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | Per-Instance Resources: mem-estimate=16.02KB mem-reservation=0B thread-reservation=1
| | | max-parallelism=10 segment-costs=[0] cpu-comparison-result=120 [max(10 (self) vs 120 (sum children))]
| | JOIN BUILD
| | | join-table-id=08 plan-id=09 cohort-id=01
| | | mem-estimate=16B mem-reservation=0B thread-reservation=0 cost=0
| | |
-| | 220:EXCHANGE [BROADCAST]
+| | 223:EXCHANGE [BROADCAST]
| | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
| | | tuple-ids=150 row-size=16B cardinality=1 cost=0
-| | | in pipelines: 219(GETNEXT)
+| | | in pipelines: 222(GETNEXT)
| | |
-| | F90:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
+| | F93:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| | Per-Instance Resources: mem-estimate=297.44KB mem-reservation=0B thread-reservation=1
| | max-parallelism=1 segment-costs=[30, 0] cpu-comparison-result=120 [max(1 (self) vs 120 (sum children))]
-| | 219:AGGREGATE [FINALIZE]
+| | 222:AGGREGATE [FINALIZE]
| | | output: avg:merge(multiply(QUANTITY, LIST_PRICE))
| | | having: avg(multiply(QUANTITY, LIST_PRICE)) IS NOT NULL
| | | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=150 row-size=16B cardinality=1 cost=8
-| | | in pipelines: 219(GETNEXT), 132(OPEN)
+| | | in pipelines: 222(GETNEXT), 132(OPEN)
| | |
-| | 218:EXCHANGE [UNPARTITIONED]
+| | 221:EXCHANGE [UNPARTITIONED]
| | | mem-estimate=281.44KB mem-reservation=0B thread-reservation=0
| | | tuple-ids=149 row-size=16B cardinality=120 cost=22
| | | in pipelines: 132(GETNEXT)
| | |
-| | F89:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | F92:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=16.02MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=120 segment-costs=[10759546738, 185] cpu-comparison-result=120 [max(120 (self) vs 33 (sum children))]
| | 132:AGGREGATE
@@ -2220,7 +2220,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=144,146 row-size=20B cardinality=2.16G cost=945169594
| | | | in pipelines: 129(GETNEXT), 130(OPEN)
| | | |
-| | | |--F105:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | |--F108:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | | max-parallelism=10 segment-costs=[17005]
| | | | JOIN BUILD
@@ -2228,12 +2228,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_19.d_date_sk
| | | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | | |
-| | | | 217:EXCHANGE [BROADCAST]
+| | | | 220:EXCHANGE [BROADCAST]
| | | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=146 row-size=8B cardinality=7.30K cost=9700
| | | | | in pipelines: 130(GETNEXT)
| | | | |
-| | | | F88:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | | F91:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=1 segment-costs=[14888]
| | | | 130:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -2274,7 +2274,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=139,141 row-size=20B cardinality=4.30G cost=1881480025
| | | | in pipelines: 126(GETNEXT), 127(OPEN)
| | | |
-| | | |--F104:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | |--F107:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | | max-parallelism=10 segment-costs=[17005]
| | | | JOIN BUILD
@@ -2282,12 +2282,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_18.d_date_sk
| | | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | | |
-| | | | 216:EXCHANGE [BROADCAST]
+| | | | 219:EXCHANGE [BROADCAST]
| | | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=141 row-size=8B cardinality=7.30K cost=9700
| | | | | in pipelines: 127(GETNEXT)
| | | | |
-| | | | F85:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | | F88:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=1 segment-costs=[14888]
| | | | 127:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -2323,7 +2323,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=135,137 row-size=20B cardinality=8.25G cost=3610899739
| | | in pipelines: 123(GETNEXT), 124(OPEN)
| | |
-| | |--F103:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | |--F106:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | max-parallelism=10 segment-costs=[17005]
| | | JOIN BUILD
@@ -2331,12 +2331,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_17.d_date_sk
| | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | |
-| | | 215:EXCHANGE [BROADCAST]
+| | | 218:EXCHANGE [BROADCAST]
| | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=137 row-size=8B cardinality=7.30K cost=9700
| | | | in pipelines: 124(GETNEXT)
| | | |
-| | | F83:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | F86:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=1 segment-costs=[14888]
| | | 124:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -2359,83 +2359,82 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=135 row-size=12B cardinality=8.25G cost=1425550548
| | in pipelines: 123(GETNEXT)
| |
-| 214:AGGREGATE [FINALIZE]
+| 217:AGGREGATE [FINALIZE]
| | output: sum:merge(multiply(tpcds_partitioned_parquet_snap.web_sales_3.ws_quantity, tpcds_partitioned_parquet_snap.web_sales_3.ws_list_price)), count:merge()
| | group by: tpcds_partitioned_parquet_snap.item_9.i_brand_id, tpcds_partitioned_parquet_snap.item_9.i_class_id, tpcds_partitioned_parquet_snap.item_9.i_category_id
| | having: sum(multiply(tpcds_partitioned_parquet_snap.web_sales_3.ws_quantity, tpcds_partitioned_parquet_snap.web_sales_3.ws_list_price)) IS NOT NULL
| | mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
-| | tuple-ids=134 row-size=36B cardinality=14.91K cost=26495451
-| | in pipelines: 214(GETNEXT), 90(OPEN)
+| | tuple-ids=134 row-size=36B cardinality=14.91K cost=26496144
+| | in pipelines: 217(GETNEXT), 90(OPEN)
| |
-| 213:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_9.i_brand_id,tpcds_partitioned_parquet_snap.item_9.i_class_id,tpcds_partitioned_parquet_snap.item_9.i_category_id)]
-| | mem-estimate=11.95MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=134 row-size=36B cardinality=17.88M cost=4947329
+| 216:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_9.i_brand_id,tpcds_partitioned_parquet_snap.item_9.i_class_id,tpcds_partitioned_parquet_snap.item_9.i_category_id)]
+| | mem-estimate=11.56MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=134 row-size=36B cardinality=17.88M cost=4947462
| | in pipelines: 90(GETNEXT)
| |
-| F61:PLAN FRAGMENT [RANDOM] hosts=10 instances=50 (adjusted from 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=42.88MB mem-reservation=9.12MB thread-reservation=1
-| max-parallelism=50 segment-costs=[465361858, 50664087] cpu-comparison-result=399 [max(50 (self) vs 399 (sum children))]
+| F83:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.web_sales_3.ws_item_sk)] hosts=10 instances=40 (adjusted from 120)
+| Per-Instance Resources: mem-estimate=35.31MB mem-reservation=9.00MB thread-reservation=1
+| max-parallelism=40 segment-costs=[370821718, 50665448] cpu-comparison-result=419 [max(120 (self) vs 419 (sum children))]
| 120:AGGREGATE [STREAMING]
| | output: sum(multiply(CAST(tpcds_partitioned_parquet_snap.web_sales_3.ws_quantity AS DECIMAL(10,0)), tpcds_partitioned_parquet_snap.web_sales_3.ws_list_price)), count()
| | group by: tpcds_partitioned_parquet_snap.item_9.i_brand_id, tpcds_partitioned_parquet_snap.item_9.i_class_id, tpcds_partitioned_parquet_snap.item_9.i_category_id
| | mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| | tuple-ids=134 row-size=36B cardinality=17.88M cost=264575992
+| | tuple-ids=134 row-size=36B cardinality=17.88M cost=265427692
| | in pipelines: 90(GETNEXT)
| |
-| 119:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
+| 119:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
| | hash-table-id=32
| | hash predicates: tpcds_partitioned_parquet_snap.web_sales_3.ws_item_sk = tpcds_partitioned_parquet_snap.item_10.i_item_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=101,103,105 row-size=44B cardinality=127.14M cost=55817853
-| | in pipelines: 90(GETNEXT), 210(OPEN)
+| | tuple-ids=101,103,105 row-size=44B cardinality=127.73M cost=55924449
+| | in pipelines: 90(GETNEXT), 212(OPEN)
| |
-| |--F126:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=180.43MB mem-reservation=170.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[834572] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| |--F129:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.web_sales_3.ws_item_sk)] hosts=10 instances=40 (adjusted from 120)
+| | | Per-Instance Resources: mem-estimate=120.63MB mem-reservation=34.00MB thread-reservation=1
+| | | max-parallelism=40 segment-costs=[75309154] cpu-comparison-result=394 [max(40 (self) vs 394 (sum children))]
| | JOIN BUILD
| | | join-table-id=32 plan-id=33 cohort-id=01
| | | build expressions: tpcds_partitioned_parquet_snap.item_10.i_item_sk
| | | runtime filters: RF061[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_item_sk
-| | | mem-estimate=170.00MB mem-reservation=170.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
+| | | mem-estimate=109.34MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0 cost=57334720
| | |
-| | 212:EXCHANGE [BROADCAST]
-| | | mem-estimate=10.43MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=133,107 row-size=36B cardinality=358.34K cost=476230
-| | | in pipelines: 210(GETNEXT)
+| | 215:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_10.i_item_sk)]
+| | | mem-estimate=11.29MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=133,107 row-size=36B cardinality=57.33M cost=17974434
+| | | in pipelines: 212(GETNEXT)
| | |
-| | F79:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| | Per-Instance Resources: mem-estimate=131.67MB mem-reservation=34.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[2731445, 229990] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| | F81:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=30 (adjusted from 120)
+| | Per-Instance Resources: mem-estimate=16.88MB mem-reservation=1.94MB thread-reservation=1
+| | max-parallelism=30 segment-costs=[1820963, 202468059] cpu-comparison-result=394 [max(30 (self) vs 394 (sum children))]
| | 118:HASH JOIN [INNER JOIN, PARTITIONED]
| | | hash-table-id=33
| | | hash predicates: BRAND_ID = tpcds_partitioned_parquet_snap.item_10.i_brand_id, CATEGORY_ID = tpcds_partitioned_parquet_snap.item_10.i_category_id, CLASS_ID = tpcds_partitioned_parquet_snap.item_10.i_class_id
| | | fk/pk conjuncts: assumed fk/pk
-| | | mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=133,107 row-size=36B cardinality=358.34K cost=179679
-| | | in pipelines: 210(GETNEXT), 95(OPEN)
+| | | mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=133,107 row-size=36B cardinality=57.33M cost=10465549
+| | | in pipelines: 212(GETNEXT), 95(OPEN)
| | |
-| | |--F127:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| | | | Per-Instance Resources: mem-estimate=7.20MB mem-reservation=5.75MB thread-reservation=1 runtime-filters-memory=1.00MB
-| | | | max-parallelism=10 segment-costs=[424527]
+| | |--F130:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=30 (adjusted from 120)
+| | | | Per-Instance Resources: mem-estimate=3.38MB mem-reservation=1.94MB thread-reservation=1
+| | | | max-parallelism=30 segment-costs=[424527]
| | | JOIN BUILD
| | | | join-table-id=33 plan-id=34 cohort-id=07
| | | | build expressions: tpcds_partitioned_parquet_snap.item_10.i_brand_id, tpcds_partitioned_parquet_snap.item_10.i_category_id, tpcds_partitioned_parquet_snap.item_10.i_class_id
-| | | | runtime filters: RF066[bloom] <- tpcds_partitioned_parquet_snap.item_10.i_brand_id, RF069[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_brand_id, RF070[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_category_id, RF071[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_class_id
-| | | | mem-estimate=4.75MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0 cost=358342
+| | | | runtime filters: RF069[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_brand_id, RF070[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_category_id, RF071[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_class_id
+| | | | mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=358342
| | | |
-| | | 211:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_10.i_brand_id,tpcds_partitioned_parquet_snap.item_10.i_class_id,tpcds_partitioned_parquet_snap.item_10.i_category_id)]
+| | | 213:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_10.i_brand_id,tpcds_partitioned_parquet_snap.item_10.i_class_id,tpcds_partitioned_parquet_snap.item_10.i_category_id)]
| | | | mem-estimate=1.45MB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=107 row-size=16B cardinality=358.34K cost=66185
| | | | in pipelines: 95(GETNEXT)
| | | |
-| | | F80:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | Per-Instance Resources: mem-estimate=16.78MB mem-reservation=512.00KB thread-reservation=1
+| | | F82:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
+| | | Per-Instance Resources: mem-estimate=18.34MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=4 segment-costs=[667145]
| | | 95:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | HDFS partitions=1/1 files=1 size=33.54MB
@@ -2449,76 +2448,77 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=107 row-size=16B cardinality=358.34K cost=113292
| | | in pipelines: 95(GETNEXT)
| | |
-| | 210:AGGREGATE [FINALIZE]
+| | 212:AGGREGATE [FINALIZE]
| | | output: count:merge()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | having: count() = CAST(2 AS BIGINT)
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=133 row-size=20B cardinality=447.36K cost=2640587
-| | | in pipelines: 210(GETNEXT), 198(OPEN), 208(OPEN)
-| | |
-| | 209:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
-| | | mem-estimate=3.67MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=133 row-size=20B cardinality=447.36K cost=90858
-| | | in pipelines: 198(GETNEXT), 208(GETNEXT)
-| | |
-| | F78:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| | Per-Instance Resources: mem-estimate=260.32MB mem-reservation=68.00MB thread-reservation=1
-| | max-parallelism=120 segment-costs=[28239822, 1820963, 2659596, 806679] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+| | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=133 row-size=20B cardinality=298.24K cost=1760391
+| | | in pipelines: 212(GETNEXT), 200(OPEN), 210(OPEN)
+| | |
+| | 211:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
+| | | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=133 row-size=20B cardinality=298.24K cost=60572
+| | | in pipelines: 200(GETNEXT), 210(GETNEXT)
+| | |
+| | F80:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | Per-Instance Resources: mem-estimate=34.69MB mem-reservation=6.75MB thread-reservation=1
+| | max-parallelism=120 segment-costs=[28239822, 1142014, 1769895, 537786] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
| | 117:AGGREGATE [STREAMING]
| | | output: count()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=133 row-size=20B cardinality=447.36K cost=2640587
-| | | in pipelines: 198(GETNEXT), 208(GETNEXT)
+| | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=133 row-size=20B cardinality=298.24K cost=1760391
+| | | in pipelines: 200(GETNEXT), 210(GETNEXT)
| | |
| | 96:UNION
-| | | pass-through-operands: 198
+| | | pass-through-operands: 200
| | | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | | tuple-ids=132 row-size=12B cardinality=447.36K cost=19009
-| | | in pipelines: 198(GETNEXT), 208(GETNEXT)
+| | | tuple-ids=132 row-size=12B cardinality=298.24K cost=9504
+| | | in pipelines: 200(GETNEXT), 210(GETNEXT)
| | |
-| | |--208:AGGREGATE [FINALIZE]
+| | |--210:AGGREGATE [FINALIZE]
| | | | output: count:merge()
| | | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | | having: count() = CAST(2 AS BIGINT)
-| | | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | | tuple-ids=124 row-size=20B cardinality=298.24K cost=1760391
-| | | | in pipelines: 208(GETNEXT), 202(OPEN), 206(OPEN)
+| | | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | | | tuple-ids=124 row-size=20B cardinality=149.12K cost=1081913
+| | | | in pipelines: 210(GETNEXT), 204(OPEN), 208(OPEN)
| | | |
-| | | 207:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
+| | | 209:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
| | | | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=124 row-size=20B cardinality=298.24K cost=60572
-| | | | in pipelines: 202(GETNEXT), 206(GETNEXT)
+| | | | tuple-ids=124 row-size=20B cardinality=295.92K cost=60101
+| | | | in pipelines: 204(GETNEXT), 208(GETNEXT)
| | | |
-| | | F76:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| | | Per-Instance Resources: mem-estimate=161.12MB mem-reservation=38.75MB thread-reservation=1
-| | | max-parallelism=120 segment-costs=[28239822, 28239822, 1760391, 537786] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
+| | | F78:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | | Per-Instance Resources: mem-estimate=43.12MB mem-reservation=6.75MB thread-reservation=1
+| | | max-parallelism=120 segment-costs=[28239822, 28239822, 1749885, 533602] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
| | | 110:AGGREGATE [STREAMING]
| | | | output: count()
| | | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | | tuple-ids=124 row-size=20B cardinality=298.24K cost=1760391
-| | | | in pipelines: 202(GETNEXT), 206(GETNEXT)
+| | | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | | | tuple-ids=124 row-size=20B cardinality=295.92K cost=1749885
+| | | | in pipelines: 204(GETNEXT), 208(GETNEXT)
| | | |
| | | 97:UNION
| | | | pass-through-operands: all
| | | | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | | | tuple-ids=123 row-size=12B cardinality=298.24K cost=0
-| | | | in pipelines: 202(GETNEXT), 206(GETNEXT)
+| | | | in pipelines: 204(GETNEXT), 208(GETNEXT)
| | | |
-| | | |--206:AGGREGATE [FINALIZE]
+| | | |--208:AGGREGATE [FINALIZE]
| | | | | group by: tpcds_partitioned_parquet_snap.item_12.i_brand_id, tpcds_partitioned_parquet_snap.item_12.i_class_id, tpcds_partitioned_parquet_snap.item_12.i_category_id
| | | | | mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| | | | | tuple-ids=122 row-size=12B cardinality=149.12K cost=25263984
-| | | | | in pipelines: 206(GETNEXT), 104(OPEN)
+| | | | | in pipelines: 208(GETNEXT), 104(OPEN)
| | | | |
-| | | | 205:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_12.i_brand_id,tpcds_partitioned_parquet_snap.item_12.i_class_id,tpcds_partitioned_parquet_snap.item_12.i_category_id)]
+| | | | 207:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_12.i_brand_id,tpcds_partitioned_parquet_snap.item_12.i_class_id,tpcds_partitioned_parquet_snap.item_12.i_category_id)]
| | | | | mem-estimate=11.88MB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=122 row-size=12B cardinality=17.89M cost=2975838
| | | | | in pipelines: 104(GETNEXT)
| | | | |
-| | | | F72:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | | | F74: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=33.50MB mem-reservation=5.25MB thread-reservation=1
| | | | max-parallelism=1040 segment-costs=[10321261528, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | | | 109:AGGREGATE [STREAMING]
@@ -2535,28 +2535,27 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | tuple-ids=116,118,120 row-size=32B cardinality=4.28G cost=1871878825
| | | | | in pipelines: 104(GETNEXT), 107(OPEN)
| | | | |
-| | | | |--F132:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | | |--F135:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | | | max-parallelism=10 segment-costs=[834572]
| | | | | JOIN BUILD
| | | | | | join-table-id=38 plan-id=39 cohort-id=07
| | | | | | build expressions: tpcds_partitioned_parquet_snap.item_12.i_item_sk
-| | | | | | runtime filters: RF081[min_max] <- tpcds_partitioned_parquet_snap.item_12.i_item_sk
+| | | | | | runtime filters: RF080[bloom] <- tpcds_partitioned_parquet_snap.item_12.i_item_sk, RF081[min_max] <- tpcds_partitioned_parquet_snap.item_12.i_item_sk
| | | | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | | | |
-| | | | | 204:EXCHANGE [BROADCAST]
+| | | | | 206:EXCHANGE [BROADCAST]
| | | | | | mem-estimate=5.55MB mem-reservation=0B thread-reservation=0
| | | | | | tuple-ids=120 row-size=16B cardinality=358.34K cost=476230
| | | | | | in pipelines: 107(GETNEXT)
| | | | | |
-| | | | | F74:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | | | Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
+| | | | | F76:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
| | | | | Per-Instance Resources: mem-estimate=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | | | max-parallelism=4 segment-costs=[146628]
| | | | | 107:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | | predicates: tpcds_partitioned_parquet_snap.item_12.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_12.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_12.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_12.i_item_sk IS NOT NULL
-| | | | | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.item_12.i_brand_id, RF070[min_max] -> tpcds_partitioned_parquet_snap.item_12.i_category_id, RF071[min_max] -> tpcds_partitioned_parquet_snap.item_12.i_class_id, RF066[bloom] -> tpcds_partitioned_parquet_snap.item_12.i_brand_id
+| | | | | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.item_12.i_brand_id, RF070[min_max] -> tpcds_partitioned_parquet_snap.item_12.i_category_id, RF071[min_max] -> tpcds_partitioned_parquet_snap.item_12.i_class_id
| | | | | stored statistics:
| | | | | table: rows=360.00K size=33.54MB
| | | | | columns: all
@@ -2574,7 +2573,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | tuple-ids=116,118 row-size=16B cardinality=4.28G(filtered from 4.30G) cost=1875853551
| | | | | in pipelines: 104(GETNEXT), 105(OPEN)
| | | | |
-| | | | |--F133:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | | |--F136:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | | | max-parallelism=10 segment-costs=[17005]
| | | | | JOIN BUILD
@@ -2582,12 +2581,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_15.d_date_sk
| | | | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | | | |
-| | | | | 203:EXCHANGE [BROADCAST]
+| | | | | 205:EXCHANGE [BROADCAST]
| | | | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | | | tuple-ids=118 row-size=8B cardinality=7.30K cost=9700
| | | | | | in pipelines: 105(GETNEXT)
| | | | | |
-| | | | | F73:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | | | F75:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | | | max-parallelism=1 segment-costs=[14888]
| | | | | 105:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -2607,7 +2606,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | partition predicates: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_sold_date_sk IS NOT NULL
| | | | HDFS partitions=1830/1831 files=1830 size=280.81GB
| | | | predicates: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_item_sk IS NOT NULL
-| | | | runtime filters: RF081[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_4.cs_item_sk
+| | | | runtime filters: RF081[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_4.cs_item_sk, RF080[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_4.cs_item_sk
| | | | stored statistics:
| | | | table: rows=4.32G size=280.96GB
| | | | partitions: 1830/1830 rows=4.30G
@@ -2618,18 +2617,19 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=116 row-size=8B cardinality=4.28G(filtered from 4.30G) cost=615983750
| | | | in pipelines: 104(GETNEXT)
| | | |
-| | | 202:AGGREGATE [FINALIZE]
+| | | 204:AGGREGATE [FINALIZE]
| | | | group by: tpcds_partitioned_parquet_snap.item_11.i_brand_id, tpcds_partitioned_parquet_snap.item_11.i_class_id, tpcds_partitioned_parquet_snap.item_11.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| | | | tuple-ids=115 row-size=12B cardinality=149.12K cost=25263984
-| | | | in pipelines: 202(GETNEXT), 98(OPEN)
+| | | | in pipelines: 204(GETNEXT), 98(OPEN)
| | | |
-| | | 201:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_11.i_brand_id,tpcds_partitioned_parquet_snap.item_11.i_class_id,tpcds_partitioned_parquet_snap.item_11.i_category_id)]
+| | | 203:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_11.i_brand_id,tpcds_partitioned_parquet_snap.item_11.i_class_id,tpcds_partitioned_parquet_snap.item_11.i_category_id)]
| | | | mem-estimate=11.88MB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=115 row-size=12B cardinality=17.89M cost=2975838
| | | | in pipelines: 98(GETNEXT)
| | | |
-| | | F68:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | | F70: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=33.50MB mem-reservation=5.50MB thread-reservation=1
| | | max-parallelism=1823 segment-costs=[19733878056, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | | 103:AGGREGATE [STREAMING]
@@ -2646,28 +2646,27 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=109,111,113 row-size=32B cardinality=8.21G cost=3592473303
| | | | in pipelines: 98(GETNEXT), 101(OPEN)
| | | |
-| | | |--F130:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | |--F133:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | | max-parallelism=10 segment-costs=[834572]
| | | | JOIN BUILD
| | | | | join-table-id=36 plan-id=37 cohort-id=07
| | | | | build expressions: tpcds_partitioned_parquet_snap.item_11.i_item_sk
-| | | | | runtime filters: RF077[min_max] <- tpcds_partitioned_parquet_snap.item_11.i_item_sk
+| | | | | runtime filters: RF076[bloom] <- tpcds_partitioned_parquet_snap.item_11.i_item_sk, RF077[min_max] <- tpcds_partitioned_parquet_snap.item_11.i_item_sk
| | | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | | |
-| | | | 200:EXCHANGE [BROADCAST]
+| | | | 202:EXCHANGE [BROADCAST]
| | | | | mem-estimate=5.55MB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=113 row-size=16B cardinality=358.34K cost=476230
| | | | | in pipelines: 101(GETNEXT)
| | | | |
-| | | | F70:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | | Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
+| | | | F72:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
| | | | Per-Instance Resources: mem-estimate=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=4 segment-costs=[146628]
| | | | 101:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | predicates: tpcds_partitioned_parquet_snap.item_11.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_11.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_11.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_11.i_item_sk IS NOT NULL
-| | | | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.item_11.i_brand_id, RF070[min_max] -> tpcds_partitioned_parquet_snap.item_11.i_category_id, RF071[min_max] -> tpcds_partitioned_parquet_snap.item_11.i_class_id, RF066[bloom] -> tpcds_partitioned_parquet_snap.item_11.i_brand_id
+| | | | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.item_11.i_brand_id, RF070[min_max] -> tpcds_partitioned_parquet_snap.item_11.i_category_id, RF071[min_max] -> tpcds_partitioned_parquet_snap.item_11.i_class_id
| | | | stored statistics:
| | | | table: rows=360.00K size=33.54MB
| | | | columns: all
@@ -2685,7 +2684,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=109,111 row-size=16B cardinality=8.21G(filtered from 8.25G) cost=3600101519
| | | | in pipelines: 98(GETNEXT), 99(OPEN)
| | | |
-| | | |--F131:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | |--F134:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | | max-parallelism=10 segment-costs=[17005]
| | | | JOIN BUILD
@@ -2693,12 +2692,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_14.d_date_sk
| | | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | | |
-| | | | 199:EXCHANGE [BROADCAST]
+| | | | 201:EXCHANGE [BROADCAST]
| | | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=111 row-size=8B cardinality=7.30K cost=9700
| | | | | in pipelines: 99(GETNEXT)
| | | | |
-| | | | F69:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | | F71:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=1 segment-costs=[14888]
| | | | 99:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -2718,29 +2717,29 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | partition predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_sold_date_sk IS NOT NULL
| | | HDFS partitions=1823/1824 files=1823 size=389.69GB
| | | predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk IS NOT NULL
-| | | runtime filters: RF077[min_max] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk
+| | | runtime filters: RF077[min_max] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk, RF076[bloom] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk
| | | stored statistics:
| | | table: rows=8.64G size=389.90GB
| | | partitions: 1823/1823 rows=8.25G
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk IS NOT NULL
| | | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | | tuple-ids=109 row-size=8B cardinality=8.21G(filtered from 8.25G) cost=1182183990
| | | in pipelines: 98(GETNEXT)
| | |
-| | 198:AGGREGATE [FINALIZE]
+| | 200:AGGREGATE [FINALIZE]
| | | group by: tpcds_partitioned_parquet_snap.item_13.i_brand_id, tpcds_partitioned_parquet_snap.item_13.i_class_id, tpcds_partitioned_parquet_snap.item_13.i_category_id
| | | mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| | | tuple-ids=131 row-size=12B cardinality=149.12K cost=25263984
-| | | in pipelines: 198(GETNEXT), 111(OPEN)
+| | | in pipelines: 200(GETNEXT), 111(OPEN)
| | |
-| | 197:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_13.i_brand_id,tpcds_partitioned_parquet_snap.item_13.i_class_id,tpcds_partitioned_parquet_snap.item_13.i_category_id)]
+| | 199:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_13.i_brand_id,tpcds_partitioned_parquet_snap.item_13.i_class_id,tpcds_partitioned_parquet_snap.item_13.i_category_id)]
| | | mem-estimate=11.88MB mem-reservation=0B thread-reservation=0
| | | tuple-ids=131 row-size=12B cardinality=17.89M cost=2975838
| | | in pipelines: 111(GETNEXT)
| | |
-| | F64:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | F66:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=33.50MB mem-reservation=5.12MB thread-reservation=1
| | max-parallelism=530 segment-costs=[5225256796, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | 116:AGGREGATE [STREAMING]
@@ -2757,7 +2756,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=125,127,129 row-size=32B cardinality=2.15G cost=940346390
| | | in pipelines: 111(GETNEXT), 114(OPEN)
| | |
-| | |--F128:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | |--F131:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
| | | | max-parallelism=10 segment-costs=[834572]
| | | JOIN BUILD
@@ -2766,19 +2765,18 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | runtime filters: RF073[min_max] <- tpcds_partitioned_parquet_snap.item_13.i_item_sk
| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | |
-| | | 196:EXCHANGE [BROADCAST]
+| | | 198:EXCHANGE [BROADCAST]
| | | | mem-estimate=5.55MB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=129 row-size=16B cardinality=358.34K cost=476230
| | | | in pipelines: 114(GETNEXT)
| | | |
-| | | F66:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
+| | | F68:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
| | | Per-Instance Resources: mem-estimate=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=4 segment-costs=[146628]
| | | 114:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | HDFS partitions=1/1 files=1 size=33.54MB
| | | predicates: tpcds_partitioned_parquet_snap.item_13.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_13.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_13.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_13.i_item_sk IS NOT NULL
-| | | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.item_13.i_brand_id, RF070[min_max] -> tpcds_partitioned_parquet_snap.item_13.i_category_id, RF071[min_max] -> tpcds_partitioned_parquet_snap.item_13.i_class_id, RF066[bloom] -> tpcds_partitioned_parquet_snap.item_13.i_brand_id
+| | | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.item_13.i_brand_id, RF070[min_max] -> tpcds_partitioned_parquet_snap.item_13.i_category_id, RF071[min_max] -> tpcds_partitioned_parquet_snap.item_13.i_class_id
| | | stored statistics:
| | | table: rows=360.00K size=33.54MB
| | | columns: all
@@ -2796,7 +2794,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=125,127 row-size=16B cardinality=2.15G(filtered from 2.16G) cost=942343110
| | | in pipelines: 111(GETNEXT), 112(OPEN)
| | |
-| | |--F129:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | |--F132:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | max-parallelism=10 segment-costs=[17005]
| | | JOIN BUILD
@@ -2804,12 +2802,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_16.d_date_sk
| | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | |
-| | | 195:EXCHANGE [BROADCAST]
+| | | 197:EXCHANGE [BROADCAST]
| | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=127 row-size=8B cardinality=7.30K cost=9700
| | | | in pipelines: 112(GETNEXT)
| | | |
-| | | F65:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | F67:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=1 segment-costs=[14888]
| | | 112:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -2840,6 +2838,15 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | tuple-ids=125 row-size=8B cardinality=2.15G(filtered from 2.16G) cost=309442090
| | in pipelines: 111(GETNEXT)
| |
+| 214:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.web_sales_3.ws_item_sk)]
+| | mem-estimate=14.38MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=101,103,105 row-size=44B cardinality=127.80M cost=49469577
+| | in pipelines: 90(GETNEXT)
+| |
+| F63:PLAN FRAGMENT [RANDOM] hosts=10 instances=80 (adjusted from 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=24.75MB mem-reservation=128.00KB thread-reservation=1
+| max-parallelism=80 segment-costs=[704609379]
| 94:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=40
| | hash predicates: tpcds_partitioned_parquet_snap.web_sales_3.ws_item_sk = tpcds_partitioned_parquet_snap.item_9.i_item_sk
@@ -2848,21 +2855,21 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | tuple-ids=101,103,105 row-size=44B cardinality=127.80M cost=55952411
| | in pipelines: 90(GETNEXT), 93(OPEN)
| |
-| |--F134:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=175.57MB mem-reservation=170.00MB thread-reservation=1
+| |--F137:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=277.57MB mem-reservation=272.00MB thread-reservation=1
| | | max-parallelism=10 segment-costs=[838440]
| | JOIN BUILD
| | | join-table-id=40 plan-id=41 cohort-id=01
| | | build expressions: tpcds_partitioned_parquet_snap.item_9.i_item_sk
| | | runtime filters: RF063[min_max] <- tpcds_partitioned_parquet_snap.item_9.i_item_sk
-| | | mem-estimate=170.00MB mem-reservation=170.00MB spill-buffer=2.00MB thread-reservation=0 cost=360000
+| | | mem-estimate=272.00MB mem-reservation=272.00MB spill-buffer=2.00MB thread-reservation=0 cost=360000
| | |
-| | 194:EXCHANGE [BROADCAST]
+| | 196:EXCHANGE [BROADCAST]
| | | mem-estimate=5.57MB mem-reservation=0B thread-reservation=0
| | | tuple-ids=105 row-size=16B cardinality=360.00K cost=478440
| | | in pipelines: 93(GETNEXT)
| | |
-| | F63:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
+| | F65:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
| | Per-Instance Resources: mem-estimate=16.08MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=4 segment-costs=[116388]
| | 93:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
@@ -2886,21 +2893,21 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | tuple-ids=101,103 row-size=28B cardinality=127.86M cost=55963989
| | in pipelines: 90(GETNEXT), 91(OPEN)
| |
-| |--F135:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=10.70MB mem-reservation=10.69MB thread-reservation=1 runtime-filters-memory=1.00MB
+| |--F138:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.52MB mem-reservation=16.50MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | max-parallelism=10 segment-costs=[248]
| | JOIN BUILD
| | | join-table-id=41 plan-id=42 cohort-id=01
| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
| | | runtime filters: RF064[bloom] <- tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
-| | | mem-estimate=9.69MB mem-reservation=9.69MB spill-buffer=64.00KB thread-reservation=0 cost=108
+| | | mem-estimate=15.50MB mem-reservation=15.50MB spill-buffer=64.00KB thread-reservation=0 cost=108
| | |
-| | 193:EXCHANGE [BROADCAST]
+| | 195:EXCHANGE [BROADCAST]
| | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
| | | tuple-ids=103 row-size=12B cardinality=108 cost=140
| | | in pipelines: 91(GETNEXT)
| | |
-| | F62:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | F64:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | Per-Instance Resources: mem-estimate=16.06MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=1 segment-costs=[18785]
| | 91:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -2934,43 +2941,43 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
01:UNION
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=100 row-size=48B cardinality=29.82K cost=5304
-| in pipelines: 158(GETNEXT), 186(GETNEXT)
+| in pipelines: 159(GETNEXT), 188(GETNEXT)
|
|--89:NESTED LOOP JOIN [INNER JOIN, BROADCAST]
| | join table id: 04
| | predicates: sum(multiply(tpcds_partitioned_parquet_snap.catalog_sales_1.cs_quantity, tpcds_partitioned_parquet_snap.catalog_sales_1.cs_list_price)) > CAST(avg(multiply(QUANTITY, LIST_PRICE)) AS DECIMAL(38,2))
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=83,99 row-size=52B cardinality=14.91K cost=3055
-| | in pipelines: 186(GETNEXT), 191(OPEN)
+| | in pipelines: 188(GETNEXT), 193(OPEN)
| |
-| |--F98:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| |--F101:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | Per-Instance Resources: mem-estimate=16.02KB mem-reservation=0B thread-reservation=1
| | | max-parallelism=10 segment-costs=[0] cpu-comparison-result=120 [max(10 (self) vs 120 (sum children))]
| | JOIN BUILD
| | | join-table-id=04 plan-id=05 cohort-id=01
| | | mem-estimate=16B mem-reservation=0B thread-reservation=0 cost=0
| | |
-| | 192:EXCHANGE [BROADCAST]
+| | 194:EXCHANGE [BROADCAST]
| | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
| | | tuple-ids=99 row-size=16B cardinality=1 cost=0
-| | | in pipelines: 191(GETNEXT)
+| | | in pipelines: 193(GETNEXT)
| | |
-| | F59:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
+| | F61:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| | Per-Instance Resources: mem-estimate=297.44KB mem-reservation=0B thread-reservation=1
| | max-parallelism=1 segment-costs=[30, 0] cpu-comparison-result=120 [max(1 (self) vs 120 (sum children))]
-| | 191:AGGREGATE [FINALIZE]
+| | 193:AGGREGATE [FINALIZE]
| | | output: avg:merge(multiply(QUANTITY, LIST_PRICE))
| | | having: avg(multiply(QUANTITY, LIST_PRICE)) IS NOT NULL
| | | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=99 row-size=16B cardinality=1 cost=8
-| | | in pipelines: 191(GETNEXT), 88(OPEN)
+| | | in pipelines: 193(GETNEXT), 88(OPEN)
| | |
-| | 190:EXCHANGE [UNPARTITIONED]
+| | 192:EXCHANGE [UNPARTITIONED]
| | | mem-estimate=281.44KB mem-reservation=0B thread-reservation=0
| | | tuple-ids=98 row-size=16B cardinality=120 cost=22
| | | in pipelines: 88(GETNEXT)
| | |
-| | F58:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | F60:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=16.02MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=120 segment-costs=[10759546738, 185] cpu-comparison-result=120 [max(120 (self) vs 33 (sum children))]
| | 88:AGGREGATE
@@ -2993,7 +3000,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=93,95 row-size=20B cardinality=2.16G cost=945169594
| | | | in pipelines: 85(GETNEXT), 86(OPEN)
| | | |
-| | | |--F101:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | |--F104:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | | max-parallelism=10 segment-costs=[17005]
| | | | JOIN BUILD
@@ -3001,12 +3008,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_12.d_date_sk
| | | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | | |
-| | | | 189:EXCHANGE [BROADCAST]
+| | | | 191:EXCHANGE [BROADCAST]
| | | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=95 row-size=8B cardinality=7.30K cost=9700
| | | | | in pipelines: 86(GETNEXT)
| | | | |
-| | | | F57:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | | F59:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=1 segment-costs=[14888]
| | | | 86:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -3047,7 +3054,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=88,90 row-size=20B cardinality=4.30G cost=1881480025
| | | | in pipelines: 82(GETNEXT), 83(OPEN)
| | | |
-| | | |--F100:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | |--F103:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | | max-parallelism=10 segment-costs=[17005]
| | | | JOIN BUILD
@@ -3055,12 +3062,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_11.d_date_sk
| | | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | | |
-| | | | 188:EXCHANGE [BROADCAST]
+| | | | 190:EXCHANGE [BROADCAST]
| | | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=90 row-size=8B cardinality=7.30K cost=9700
| | | | | in pipelines: 83(GETNEXT)
| | | | |
-| | | | F54:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | | F56:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=1 segment-costs=[14888]
| | | | 83:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -3096,7 +3103,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=84,86 row-size=20B cardinality=8.25G cost=3610899739
| | | in pipelines: 79(GETNEXT), 80(OPEN)
| | |
-| | |--F99:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | |--F102:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | max-parallelism=10 segment-costs=[17005]
| | | JOIN BUILD
@@ -3104,12 +3111,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
| | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | |
-| | | 187:EXCHANGE [BROADCAST]
+| | | 189:EXCHANGE [BROADCAST]
| | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=86 row-size=8B cardinality=7.30K cost=9700
| | | | in pipelines: 80(GETNEXT)
| | | |
-| | | F52:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | F54:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=1 segment-costs=[14888]
| | | 80:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -3132,83 +3139,82 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=84 row-size=12B cardinality=8.25G cost=1425550548
| | in pipelines: 79(GETNEXT)
| |
-| 186:AGGREGATE [FINALIZE]
+| 188:AGGREGATE [FINALIZE]
| | output: sum:merge(multiply(tpcds_partitioned_parquet_snap.catalog_sales_1.cs_quantity, tpcds_partitioned_parquet_snap.catalog_sales_1.cs_list_price)), count:merge()
| | group by: tpcds_partitioned_parquet_snap.item_4.i_brand_id, tpcds_partitioned_parquet_snap.item_4.i_class_id, tpcds_partitioned_parquet_snap.item_4.i_category_id
| | having: sum(multiply(tpcds_partitioned_parquet_snap.catalog_sales_1.cs_quantity, tpcds_partitioned_parquet_snap.catalog_sales_1.cs_list_price)) IS NOT NULL
| | mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
| | tuple-ids=83 row-size=36B cardinality=14.91K cost=26516592
-| | in pipelines: 186(GETNEXT), 46(OPEN)
+| | in pipelines: 188(GETNEXT), 46(OPEN)
| |
-| 185:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_4.i_brand_id,tpcds_partitioned_parquet_snap.item_4.i_class_id,tpcds_partitioned_parquet_snap.item_4.i_category_id)]
-| | mem-estimate=13.52MB mem-reservation=0B thread-reservation=0
+| 187:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_4.i_brand_id,tpcds_partitioned_parquet_snap.item_4.i_class_id,tpcds_partitioned_parquet_snap.item_4.i_category_id)]
+| | mem-estimate=12.73MB mem-reservation=0B thread-reservation=0
| | tuple-ids=83 row-size=36B cardinality=17.89M cost=4951380
| | in pipelines: 46(GETNEXT)
| |
-| F30:PLAN FRAGMENT [RANDOM] hosts=10 instances=90 (adjusted from 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=42.88MB mem-reservation=9.25MB thread-reservation=1
-| max-parallelism=90 segment-costs=[843293230, 50705571] cpu-comparison-result=399 [max(90 (self) vs 399 (sum children))]
+| F51:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk)] hosts=10 instances=70 (adjusted from 120)
+| Per-Instance Resources: mem-estimate=36.84MB mem-reservation=9.00MB thread-reservation=1
+| max-parallelism=70 segment-costs=[655814247, 50705571] cpu-comparison-result=419 [max(178 (self) vs 419 (sum children))]
| 76:AGGREGATE [STREAMING]
| | output: sum(multiply(CAST(tpcds_partitioned_parquet_snap.catalog_sales_1.cs_quantity AS DECIMAL(10,0)), tpcds_partitioned_parquet_snap.catalog_sales_1.cs_list_price)), count()
| | group by: tpcds_partitioned_parquet_snap.item_4.i_brand_id, tpcds_partitioned_parquet_snap.item_4.i_class_id, tpcds_partitioned_parquet_snap.item_4.i_category_id
| | mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| | tuple-ids=83 row-size=36B cardinality=17.89M cost=445131515
+| | tuple-ids=83 row-size=36B cardinality=17.89M cost=446816141
| | in pipelines: 46(GETNEXT)
| |
-| 75:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
+| 75:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
| | hash-table-id=22
| | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk = tpcds_partitioned_parquet_snap.item_5.i_item_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=50,52,54 row-size=44B cardinality=252.13M cost=110687732
-| | in pipelines: 46(GETNEXT), 182(OPEN)
+| | tuple-ids=50,52,54 row-size=44B cardinality=253.29M cost=110899112
+| | in pipelines: 46(GETNEXT), 183(OPEN)
| |
-| |--F116:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=316.43MB mem-reservation=306.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[834572] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| |--F119:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk)] hosts=10 instances=70 (adjusted from 120)
+| | | Per-Instance Resources: mem-estimate=73.77MB mem-reservation=34.00MB thread-reservation=1
+| | | max-parallelism=70 segment-costs=[75309154] cpu-comparison-result=394 [max(70 (self) vs 394 (sum children))]
| | JOIN BUILD
| | | join-table-id=22 plan-id=23 cohort-id=01
| | | build expressions: tpcds_partitioned_parquet_snap.item_5.i_item_sk
| | | runtime filters: RF031[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_item_sk
-| | | mem-estimate=306.00MB mem-reservation=306.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
+| | | mem-estimate=62.48MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0 cost=57334720
| | |
-| | 184:EXCHANGE [BROADCAST]
-| | | mem-estimate=10.43MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=82,56 row-size=36B cardinality=358.34K cost=476230
-| | | in pipelines: 182(GETNEXT)
+| | 186:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_5.i_item_sk)]
+| | | mem-estimate=11.29MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=82,56 row-size=36B cardinality=57.33M cost=17974434
+| | | in pipelines: 183(GETNEXT)
| | |
-| | F48:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| | Per-Instance Resources: mem-estimate=131.67MB mem-reservation=34.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[2731445, 229990] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| | F49:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=30 (adjusted from 120)
+| | Per-Instance Resources: mem-estimate=22.03MB mem-reservation=1.94MB thread-reservation=1
+| | max-parallelism=30 segment-costs=[1820963, 202468059] cpu-comparison-result=394 [max(30 (self) vs 394 (sum children))]
| | 74:HASH JOIN [INNER JOIN, PARTITIONED]
| | | hash-table-id=23
| | | hash predicates: BRAND_ID = tpcds_partitioned_parquet_snap.item_5.i_brand_id, CATEGORY_ID = tpcds_partitioned_parquet_snap.item_5.i_category_id, CLASS_ID = tpcds_partitioned_parquet_snap.item_5.i_class_id
| | | fk/pk conjuncts: assumed fk/pk
-| | | mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=82,56 row-size=36B cardinality=358.34K cost=179679
-| | | in pipelines: 182(GETNEXT), 51(OPEN)
+| | | mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=82,56 row-size=36B cardinality=57.33M cost=10465549
+| | | in pipelines: 183(GETNEXT), 51(OPEN)
| | |
-| | |--F117:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| | | | Per-Instance Resources: mem-estimate=9.20MB mem-reservation=7.75MB thread-reservation=1 runtime-filters-memory=3.00MB
-| | | | max-parallelism=10 segment-costs=[424527]
+| | |--F120:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=30 (adjusted from 120)
+| | | | Per-Instance Resources: mem-estimate=3.38MB mem-reservation=1.94MB thread-reservation=1
+| | | | max-parallelism=30 segment-costs=[424527]
| | | JOIN BUILD
| | | | join-table-id=23 plan-id=24 cohort-id=06
| | | | build expressions: tpcds_partitioned_parquet_snap.item_5.i_brand_id, tpcds_partitioned_parquet_snap.item_5.i_category_id, tpcds_partitioned_parquet_snap.item_5.i_class_id
-| | | | runtime filters: RF036[bloom] <- tpcds_partitioned_parquet_snap.item_5.i_brand_id, RF037[bloom] <- tpcds_partitioned_parquet_snap.item_5.i_category_id, RF038[bloom] <- tpcds_partitioned_parquet_snap.item_5.i_class_id, RF039[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_brand_id, RF040[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_category_id, RF041[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_class_id
-| | | | mem-estimate=4.75MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0 cost=358342
+| | | | runtime filters: RF039[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_brand_id, RF040[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_category_id, RF041[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_class_id
+| | | | mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=358342
| | | |
-| | | 183:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_5.i_brand_id,tpcds_partitioned_parquet_snap.item_5.i_class_id,tpcds_partitioned_parquet_snap.item_5.i_category_id)]
+| | | 184:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_5.i_brand_id,tpcds_partitioned_parquet_snap.item_5.i_class_id,tpcds_partitioned_parquet_snap.item_5.i_category_id)]
| | | | mem-estimate=1.45MB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=56 row-size=16B cardinality=358.34K cost=66185
| | | | in pipelines: 51(GETNEXT)
| | | |
-| | | F49:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | Per-Instance Resources: mem-estimate=16.78MB mem-reservation=512.00KB thread-reservation=1
+| | | F50:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
+| | | Per-Instance Resources: mem-estimate=18.34MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=4 segment-costs=[667145]
| | | 51:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | HDFS partitions=1/1 files=1 size=33.54MB
@@ -3222,76 +3228,77 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=56 row-size=16B cardinality=358.34K cost=113292
| | | in pipelines: 51(GETNEXT)
| | |
-| | 182:AGGREGATE [FINALIZE]
+| | 183:AGGREGATE [FINALIZE]
| | | output: count:merge()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | having: count() = CAST(2 AS BIGINT)
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=82 row-size=20B cardinality=447.36K cost=2640587
-| | | in pipelines: 182(GETNEXT), 170(OPEN), 180(OPEN)
-| | |
-| | 181:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
-| | | mem-estimate=3.67MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=82 row-size=20B cardinality=447.36K cost=90858
-| | | in pipelines: 170(GETNEXT), 180(GETNEXT)
-| | |
-| | F47:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| | Per-Instance Resources: mem-estimate=260.32MB mem-reservation=68.00MB thread-reservation=1
-| | max-parallelism=120 segment-costs=[28239822, 1820963, 2659596, 806679] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+| | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=82 row-size=20B cardinality=298.24K cost=1760391
+| | | in pipelines: 183(GETNEXT), 171(OPEN), 181(OPEN)
+| | |
+| | 182:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
+| | | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=82 row-size=20B cardinality=298.24K cost=60572
+| | | in pipelines: 171(GETNEXT), 181(GETNEXT)
+| | |
+| | F48:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | Per-Instance Resources: mem-estimate=34.69MB mem-reservation=6.75MB thread-reservation=1
+| | max-parallelism=120 segment-costs=[28239822, 1142014, 1769895, 537786] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
| | 73:AGGREGATE [STREAMING]
| | | output: count()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=82 row-size=20B cardinality=447.36K cost=2640587
-| | | in pipelines: 170(GETNEXT), 180(GETNEXT)
+| | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=82 row-size=20B cardinality=298.24K cost=1760391
+| | | in pipelines: 171(GETNEXT), 181(GETNEXT)
| | |
| | 52:UNION
-| | | pass-through-operands: 170
+| | | pass-through-operands: 171
| | | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | | tuple-ids=81 row-size=12B cardinality=447.36K cost=19009
-| | | in pipelines: 170(GETNEXT), 180(GETNEXT)
+| | | tuple-ids=81 row-size=12B cardinality=298.24K cost=9504
+| | | in pipelines: 171(GETNEXT), 181(GETNEXT)
| | |
-| | |--180:AGGREGATE [FINALIZE]
+| | |--181:AGGREGATE [FINALIZE]
| | | | output: count:merge()
| | | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | | having: count() = CAST(2 AS BIGINT)
-| | | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | | tuple-ids=73 row-size=20B cardinality=298.24K cost=1760391
-| | | | in pipelines: 180(GETNEXT), 174(OPEN), 178(OPEN)
+| | | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | | | tuple-ids=73 row-size=20B cardinality=149.12K cost=1081913
+| | | | in pipelines: 181(GETNEXT), 175(OPEN), 179(OPEN)
| | | |
-| | | 179:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
+| | | 180:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
| | | | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=73 row-size=20B cardinality=298.24K cost=60572
-| | | | in pipelines: 174(GETNEXT), 178(GETNEXT)
+| | | | tuple-ids=73 row-size=20B cardinality=295.92K cost=60101
+| | | | in pipelines: 175(GETNEXT), 179(GETNEXT)
| | | |
-| | | F45:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| | | Per-Instance Resources: mem-estimate=161.12MB mem-reservation=38.75MB thread-reservation=1
-| | | max-parallelism=120 segment-costs=[28239822, 28239822, 1760391, 537786] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
+| | | F46:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | | Per-Instance Resources: mem-estimate=43.12MB mem-reservation=6.75MB thread-reservation=1
+| | | max-parallelism=120 segment-costs=[28239822, 28239822, 1749885, 533602] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
| | | 66:AGGREGATE [STREAMING]
| | | | output: count()
| | | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | | tuple-ids=73 row-size=20B cardinality=298.24K cost=1760391
-| | | | in pipelines: 174(GETNEXT), 178(GETNEXT)
+| | | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | | | tuple-ids=73 row-size=20B cardinality=295.92K cost=1749885
+| | | | in pipelines: 175(GETNEXT), 179(GETNEXT)
| | | |
| | | 53:UNION
| | | | pass-through-operands: all
| | | | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | | | tuple-ids=72 row-size=12B cardinality=298.24K cost=0
-| | | | in pipelines: 174(GETNEXT), 178(GETNEXT)
+| | | | in pipelines: 175(GETNEXT), 179(GETNEXT)
| | | |
-| | | |--178:AGGREGATE [FINALIZE]
+| | | |--179:AGGREGATE [FINALIZE]
| | | | | group by: tpcds_partitioned_parquet_snap.item_7.i_brand_id, tpcds_partitioned_parquet_snap.item_7.i_class_id, tpcds_partitioned_parquet_snap.item_7.i_category_id
| | | | | mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| | | | | tuple-ids=71 row-size=12B cardinality=149.12K cost=25263984
-| | | | | in pipelines: 178(GETNEXT), 60(OPEN)
+| | | | | in pipelines: 179(GETNEXT), 60(OPEN)
| | | | |
-| | | | 177:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_7.i_brand_id,tpcds_partitioned_parquet_snap.item_7.i_class_id,tpcds_partitioned_parquet_snap.item_7.i_category_id)]
+| | | | 178:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_7.i_brand_id,tpcds_partitioned_parquet_snap.item_7.i_class_id,tpcds_partitioned_parquet_snap.item_7.i_category_id)]
| | | | | mem-estimate=11.88MB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=71 row-size=12B cardinality=17.89M cost=2975838
| | | | | in pipelines: 60(GETNEXT)
| | | | |
-| | | | F41:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | | | F42: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=33.50MB mem-reservation=5.25MB thread-reservation=1
| | | | max-parallelism=1040 segment-costs=[10321261528, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | | | 65:AGGREGATE [STREAMING]
@@ -3308,28 +3315,27 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | tuple-ids=65,67,69 row-size=32B cardinality=4.28G cost=1871878825
| | | | | in pipelines: 60(GETNEXT), 63(OPEN)
| | | | |
-| | | | |--F122:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | | |--F125:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | | | max-parallelism=10 segment-costs=[834572]
| | | | | JOIN BUILD
| | | | | | join-table-id=28 plan-id=29 cohort-id=06
| | | | | | build expressions: tpcds_partitioned_parquet_snap.item_7.i_item_sk
-| | | | | | runtime filters: RF051[min_max] <- tpcds_partitioned_parquet_snap.item_7.i_item_sk
+| | | | | | runtime filters: RF050[bloom] <- tpcds_partitioned_parquet_snap.item_7.i_item_sk, RF051[min_max] <- tpcds_partitioned_parquet_snap.item_7.i_item_sk
| | | | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | | | |
-| | | | | 176:EXCHANGE [BROADCAST]
+| | | | | 177:EXCHANGE [BROADCAST]
| | | | | | mem-estimate=5.55MB mem-reservation=0B thread-reservation=0
| | | | | | tuple-ids=69 row-size=16B cardinality=358.34K cost=476230
| | | | | | in pipelines: 63(GETNEXT)
| | | | | |
-| | | | | F43:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | | | Per-Host Shared Resources: mem-estimate=3.00MB mem-reservation=3.00MB thread-reservation=0 runtime-filters-memory=3.00MB
+| | | | | F44:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
| | | | | Per-Instance Resources: mem-estimate=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | | | max-parallelism=4 segment-costs=[146628]
| | | | | 63:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | | predicates: tpcds_partitioned_parquet_snap.item_7.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_7.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_7.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_7.i_item_sk IS NOT NULL
-| | | | | runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_brand_id, RF040[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_category_id, RF041[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_class_id, RF036[bloom] -> tpcds_partitioned_parquet_snap.item_7.i_brand_id, RF037[bloom] -> tpcds_partitioned_parquet_snap.item_7.i_category_id, RF038[bloom] -> tpcds_partitioned_parquet_snap.item_7.i_class_id
+| | | | | runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_brand_id, RF040[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_category_id, RF041[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_class_id
| | | | | stored statistics:
| | | | | table: rows=360.00K size=33.54MB
| | | | | columns: all
@@ -3347,7 +3353,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | tuple-ids=65,67 row-size=16B cardinality=4.28G(filtered from 4.30G) cost=1875853551
| | | | | in pipelines: 60(GETNEXT), 61(OPEN)
| | | | |
-| | | | |--F123:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | | |--F126:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | | | max-parallelism=10 segment-costs=[17005]
| | | | | JOIN BUILD
@@ -3355,12 +3361,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_8.d_date_sk
| | | | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | | | |
-| | | | | 175:EXCHANGE [BROADCAST]
+| | | | | 176:EXCHANGE [BROADCAST]
| | | | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | | | tuple-ids=67 row-size=8B cardinality=7.30K cost=9700
| | | | | | in pipelines: 61(GETNEXT)
| | | | | |
-| | | | | F42:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | | | F43:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | | | max-parallelism=1 segment-costs=[14888]
| | | | | 61:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -3380,7 +3386,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | partition predicates: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_sold_date_sk IS NOT NULL
| | | | HDFS partitions=1830/1831 files=1830 size=280.81GB
| | | | predicates: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_item_sk IS NOT NULL
-| | | | runtime filters: RF051[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_item_sk
+| | | | runtime filters: RF051[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_item_sk, RF050[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_item_sk
| | | | stored statistics:
| | | | table: rows=4.32G size=280.96GB
| | | | partitions: 1830/1830 rows=4.30G
@@ -3391,18 +3397,19 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=65 row-size=8B cardinality=4.28G(filtered from 4.30G) cost=615983750
| | | | in pipelines: 60(GETNEXT)
| | | |
-| | | 174:AGGREGATE [FINALIZE]
+| | | 175:AGGREGATE [FINALIZE]
| | | | group by: tpcds_partitioned_parquet_snap.item_6.i_brand_id, tpcds_partitioned_parquet_snap.item_6.i_class_id, tpcds_partitioned_parquet_snap.item_6.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| | | | tuple-ids=64 row-size=12B cardinality=149.12K cost=25263984
-| | | | in pipelines: 174(GETNEXT), 54(OPEN)
+| | | | in pipelines: 175(GETNEXT), 54(OPEN)
| | | |
-| | | 173:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_6.i_brand_id,tpcds_partitioned_parquet_snap.item_6.i_class_id,tpcds_partitioned_parquet_snap.item_6.i_category_id)]
+| | | 174:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_6.i_brand_id,tpcds_partitioned_parquet_snap.item_6.i_class_id,tpcds_partitioned_parquet_snap.item_6.i_category_id)]
| | | | mem-estimate=11.88MB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=64 row-size=12B cardinality=17.89M cost=2975838
| | | | in pipelines: 54(GETNEXT)
| | | |
-| | | F37:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | | F38: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=33.50MB mem-reservation=5.50MB thread-reservation=1
| | | max-parallelism=1823 segment-costs=[19733878056, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | | 59:AGGREGATE [STREAMING]
@@ -3419,28 +3426,27 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=58,60,62 row-size=32B cardinality=8.21G cost=3592473303
| | | | in pipelines: 54(GETNEXT), 57(OPEN)
| | | |
-| | | |--F120:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | |--F123:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | | max-parallelism=10 segment-costs=[834572]
| | | | JOIN BUILD
| | | | | join-table-id=26 plan-id=27 cohort-id=06
| | | | | build expressions: tpcds_partitioned_parquet_snap.item_6.i_item_sk
-| | | | | runtime filters: RF047[min_max] <- tpcds_partitioned_parquet_snap.item_6.i_item_sk
+| | | | | runtime filters: RF046[bloom] <- tpcds_partitioned_parquet_snap.item_6.i_item_sk, RF047[min_max] <- tpcds_partitioned_parquet_snap.item_6.i_item_sk
| | | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | | |
-| | | | 172:EXCHANGE [BROADCAST]
+| | | | 173:EXCHANGE [BROADCAST]
| | | | | mem-estimate=5.55MB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=62 row-size=16B cardinality=358.34K cost=476230
| | | | | in pipelines: 57(GETNEXT)
| | | | |
-| | | | F39:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | | Per-Host Shared Resources: mem-estimate=3.00MB mem-reservation=3.00MB thread-reservation=0 runtime-filters-memory=3.00MB
+| | | | F40:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
| | | | Per-Instance Resources: mem-estimate=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=4 segment-costs=[146628]
| | | | 57:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | predicates: tpcds_partitioned_parquet_snap.item_6.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_6.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_6.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_6.i_item_sk IS NOT NULL
-| | | | runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_brand_id, RF040[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_category_id, RF041[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_class_id, RF036[bloom] -> tpcds_partitioned_parquet_snap.item_6.i_brand_id, RF037[bloom] -> tpcds_partitioned_parquet_snap.item_6.i_category_id, RF038[bloom] -> tpcds_partitioned_parquet_snap.item_6.i_class_id
+| | | | runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_brand_id, RF040[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_category_id, RF041[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_class_id
| | | | stored statistics:
| | | | table: rows=360.00K size=33.54MB
| | | | columns: all
@@ -3458,7 +3464,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=58,60 row-size=16B cardinality=8.21G(filtered from 8.25G) cost=3600101519
| | | | in pipelines: 54(GETNEXT), 55(OPEN)
| | | |
-| | | |--F121:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | |--F124:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | | max-parallelism=10 segment-costs=[17005]
| | | | JOIN BUILD
@@ -3466,12 +3472,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_7.d_date_sk
| | | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | | |
-| | | | 171:EXCHANGE [BROADCAST]
+| | | | 172:EXCHANGE [BROADCAST]
| | | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=60 row-size=8B cardinality=7.30K cost=9700
| | | | | in pipelines: 55(GETNEXT)
| | | | |
-| | | | F38:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | | F39:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=1 segment-costs=[14888]
| | | | 55:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -3491,29 +3497,29 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | partition predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_sold_date_sk IS NOT NULL
| | | HDFS partitions=1823/1824 files=1823 size=389.69GB
| | | predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk IS NOT NULL
-| | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk
+| | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk, RF046[bloom] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk
| | | stored statistics:
| | | table: rows=8.64G size=389.90GB
| | | partitions: 1823/1823 rows=8.25G
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk IS NOT NULL
| | | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | | tuple-ids=58 row-size=8B cardinality=8.21G(filtered from 8.25G) cost=1182183990
| | | in pipelines: 54(GETNEXT)
| | |
-| | 170:AGGREGATE [FINALIZE]
+| | 171:AGGREGATE [FINALIZE]
| | | group by: tpcds_partitioned_parquet_snap.item_8.i_brand_id, tpcds_partitioned_parquet_snap.item_8.i_class_id, tpcds_partitioned_parquet_snap.item_8.i_category_id
| | | mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| | | tuple-ids=80 row-size=12B cardinality=149.12K cost=25263984
-| | | in pipelines: 170(GETNEXT), 67(OPEN)
+| | | in pipelines: 171(GETNEXT), 67(OPEN)
| | |
-| | 169:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_8.i_brand_id,tpcds_partitioned_parquet_snap.item_8.i_class_id,tpcds_partitioned_parquet_snap.item_8.i_category_id)]
+| | 170:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_8.i_brand_id,tpcds_partitioned_parquet_snap.item_8.i_class_id,tpcds_partitioned_parquet_snap.item_8.i_category_id)]
| | | mem-estimate=11.88MB mem-reservation=0B thread-reservation=0
| | | tuple-ids=80 row-size=12B cardinality=17.89M cost=2975838
| | | in pipelines: 67(GETNEXT)
| | |
-| | F33:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | F34:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=33.50MB mem-reservation=5.12MB thread-reservation=1
| | max-parallelism=530 segment-costs=[5225256796, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | 72:AGGREGATE [STREAMING]
@@ -3530,7 +3536,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=74,76,78 row-size=32B cardinality=2.15G cost=940346390
| | | in pipelines: 67(GETNEXT), 70(OPEN)
| | |
-| | |--F118:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | |--F121:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
| | | | max-parallelism=10 segment-costs=[834572]
| | | JOIN BUILD
@@ -3539,19 +3545,18 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | runtime filters: RF043[min_max] <- tpcds_partitioned_parquet_snap.item_8.i_item_sk
| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | |
-| | | 168:EXCHANGE [BROADCAST]
+| | | 169:EXCHANGE [BROADCAST]
| | | | mem-estimate=5.55MB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=78 row-size=16B cardinality=358.34K cost=476230
| | | | in pipelines: 70(GETNEXT)
| | | |
-| | | F35:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | Per-Host Shared Resources: mem-estimate=3.00MB mem-reservation=3.00MB thread-reservation=0 runtime-filters-memory=3.00MB
+| | | F36:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
| | | Per-Instance Resources: mem-estimate=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=4 segment-costs=[146628]
| | | 70:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | HDFS partitions=1/1 files=1 size=33.54MB
| | | predicates: tpcds_partitioned_parquet_snap.item_8.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_8.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_8.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_8.i_item_sk IS NOT NULL
-| | | runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_brand_id, RF040[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_category_id, RF041[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_class_id, RF036[bloom] -> tpcds_partitioned_parquet_snap.item_8.i_brand_id, RF037[bloom] -> tpcds_partitioned_parquet_snap.item_8.i_category_id, RF038[bloom] -> tpcds_partitioned_parquet_snap.item_8.i_class_id
+| | | runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_brand_id, RF040[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_category_id, RF041[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_class_id
| | | stored statistics:
| | | table: rows=360.00K size=33.54MB
| | | columns: all
@@ -3569,7 +3574,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=74,76 row-size=16B cardinality=2.15G(filtered from 2.16G) cost=942343110
| | | in pipelines: 67(GETNEXT), 68(OPEN)
| | |
-| | |--F119:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | |--F122:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | max-parallelism=10 segment-costs=[17005]
| | | JOIN BUILD
@@ -3577,12 +3582,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_9.d_date_sk
| | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | |
-| | | 167:EXCHANGE [BROADCAST]
+| | | 168:EXCHANGE [BROADCAST]
| | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=76 row-size=8B cardinality=7.30K cost=9700
| | | | in pipelines: 68(GETNEXT)
| | | |
-| | | F34:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | F35:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=1 segment-costs=[14888]
| | | 68:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -3613,6 +3618,15 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | tuple-ids=74 row-size=8B cardinality=2.15G(filtered from 2.16G) cost=309442090
| | in pipelines: 67(GETNEXT)
| |
+| 185:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk)]
+| | mem-estimate=15.91MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=50,52,54 row-size=44B cardinality=253.42M cost=98098994
+| | in pipelines: 46(GETNEXT)
+| |
+| F31:PLAN FRAGMENT [RANDOM] hosts=10 instances=108 (adjusted from 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=31.31MB mem-reservation=256.00KB thread-reservation=1
+| max-parallelism=108 segment-costs=[1397252121]
| 50:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=30
| | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk = tpcds_partitioned_parquet_snap.item_4.i_item_sk
@@ -3621,21 +3635,21 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | tuple-ids=50,52,54 row-size=44B cardinality=253.42M cost=110954562
| | in pipelines: 46(GETNEXT), 49(OPEN)
| |
-| |--F124:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=311.57MB mem-reservation=306.00MB thread-reservation=1
+| |--F127:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=379.57MB mem-reservation=374.00MB thread-reservation=1
| | | max-parallelism=10 segment-costs=[838440]
| | JOIN BUILD
| | | join-table-id=30 plan-id=31 cohort-id=01
| | | build expressions: tpcds_partitioned_parquet_snap.item_4.i_item_sk
| | | runtime filters: RF033[min_max] <- tpcds_partitioned_parquet_snap.item_4.i_item_sk
-| | | mem-estimate=306.00MB mem-reservation=306.00MB spill-buffer=2.00MB thread-reservation=0 cost=360000
+| | | mem-estimate=374.00MB mem-reservation=374.00MB spill-buffer=2.00MB thread-reservation=0 cost=360000
| | |
-| | 166:EXCHANGE [BROADCAST]
+| | 167:EXCHANGE [BROADCAST]
| | | mem-estimate=5.57MB mem-reservation=0B thread-reservation=0
| | | tuple-ids=54 row-size=16B cardinality=360.00K cost=478440
| | | in pipelines: 49(GETNEXT)
| | |
-| | F32:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
+| | F33:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
| | Per-Instance Resources: mem-estimate=16.08MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=4 segment-costs=[116388]
| | 49:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
@@ -3659,21 +3673,21 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | tuple-ids=50,52 row-size=28B cardinality=253.55M cost=110977522
| | in pipelines: 46(GETNEXT), 47(OPEN)
| |
-| |--F125:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=18.45MB mem-reservation=18.44MB thread-reservation=1 runtime-filters-memory=1.00MB
+| |--F128:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=22.33MB mem-reservation=22.31MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | max-parallelism=10 segment-costs=[248]
| | JOIN BUILD
| | | join-table-id=31 plan-id=32 cohort-id=01
| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
| | | runtime filters: RF034[bloom] <- tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
-| | | mem-estimate=17.44MB mem-reservation=17.44MB spill-buffer=64.00KB thread-reservation=0 cost=108
+| | | mem-estimate=21.31MB mem-reservation=21.31MB spill-buffer=64.00KB thread-reservation=0 cost=108
| | |
-| | 165:EXCHANGE [BROADCAST]
+| | 166:EXCHANGE [BROADCAST]
| | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
| | | tuple-ids=52 row-size=12B cardinality=108 cost=140
| | | in pipelines: 47(GETNEXT)
| | |
-| | F31:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | F32:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | Per-Instance Resources: mem-estimate=16.06MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=1 segment-costs=[18785]
| | 47:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -3709,36 +3723,36 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| predicates: sum(multiply(tpcds_partitioned_parquet_snap.store_sales.ss_quantity, tpcds_partitioned_parquet_snap.store_sales.ss_list_price)) > CAST(avg(multiply(QUANTITY, LIST_PRICE)) AS DECIMAL(38,2))
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=33,49 row-size=52B cardinality=14.91K cost=3055
-| in pipelines: 158(GETNEXT), 163(OPEN)
+| in pipelines: 159(GETNEXT), 164(OPEN)
|
-|--F94:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+|--F97:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | Per-Instance Resources: mem-estimate=16.02KB mem-reservation=0B thread-reservation=1
| | max-parallelism=10 segment-costs=[0] cpu-comparison-result=120 [max(10 (self) vs 120 (sum children))]
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
| | mem-estimate=16B mem-reservation=0B thread-reservation=0 cost=0
| |
-| 164:EXCHANGE [BROADCAST]
+| 165:EXCHANGE [BROADCAST]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
| | tuple-ids=49 row-size=16B cardinality=1 cost=0
-| | in pipelines: 163(GETNEXT)
+| | in pipelines: 164(GETNEXT)
| |
-| F29:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
+| F30:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=297.44KB mem-reservation=0B thread-reservation=1
| max-parallelism=1 segment-costs=[30, 0] cpu-comparison-result=120 [max(1 (self) vs 120 (sum children))]
-| 163:AGGREGATE [FINALIZE]
+| 164:AGGREGATE [FINALIZE]
| | output: avg:merge(multiply(QUANTITY, LIST_PRICE))
| | having: avg(multiply(QUANTITY, LIST_PRICE)) IS NOT NULL
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=49 row-size=16B cardinality=1 cost=8
-| | in pipelines: 163(GETNEXT), 44(OPEN)
+| | in pipelines: 164(GETNEXT), 44(OPEN)
| |
-| 162:EXCHANGE [UNPARTITIONED]
+| 163:EXCHANGE [UNPARTITIONED]
| | mem-estimate=281.44KB mem-reservation=0B thread-reservation=0
| | tuple-ids=48 row-size=16B cardinality=120 cost=22
| | in pipelines: 44(GETNEXT)
| |
-| F28:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| F29:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Instance Resources: mem-estimate=16.02MB mem-reservation=512.00KB thread-reservation=1
| max-parallelism=120 segment-costs=[10759546738, 185] cpu-comparison-result=120 [max(120 (self) vs 33 (sum children))]
| 44:AGGREGATE
@@ -3761,7 +3775,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=43,45 row-size=20B cardinality=2.16G cost=945169594
| | | in pipelines: 41(GETNEXT), 42(OPEN)
| | |
-| | |--F97:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | |--F100:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | max-parallelism=10 segment-costs=[17005]
| | | JOIN BUILD
@@ -3769,12 +3783,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_5.d_date_sk
| | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | |
-| | | 161:EXCHANGE [BROADCAST]
+| | | 162:EXCHANGE [BROADCAST]
| | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=45 row-size=8B cardinality=7.30K cost=9700
| | | | in pipelines: 42(GETNEXT)
| | | |
-| | | F27:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | F28:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=1 segment-costs=[14888]
| | | 42:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -3815,7 +3829,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=38,40 row-size=20B cardinality=4.30G cost=1881480025
| | | in pipelines: 38(GETNEXT), 39(OPEN)
| | |
-| | |--F96:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | |--F99:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | max-parallelism=10 segment-costs=[17005]
| | | JOIN BUILD
@@ -3823,12 +3837,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_4.d_date_sk
| | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | |
-| | | 160:EXCHANGE [BROADCAST]
+| | | 161:EXCHANGE [BROADCAST]
| | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=40 row-size=8B cardinality=7.30K cost=9700
| | | | in pipelines: 39(GETNEXT)
| | | |
-| | | F24:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | F25:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=1 segment-costs=[14888]
| | | 39:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -3864,7 +3878,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | tuple-ids=34,36 row-size=20B cardinality=8.25G cost=3610899739
| | in pipelines: 35(GETNEXT), 36(OPEN)
| |
-| |--F95:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| |--F98:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | max-parallelism=10 segment-costs=[17005]
| | JOIN BUILD
@@ -3872,12 +3886,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_3.d_date_sk
| | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | |
-| | 159:EXCHANGE [BROADCAST]
+| | 160:EXCHANGE [BROADCAST]
| | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | tuple-ids=36 row-size=8B cardinality=7.30K cost=9700
| | | in pipelines: 36(GETNEXT)
| | |
-| | F22:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | F23:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=1 segment-costs=[14888]
| | 36:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -3900,75 +3914,74 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M
+| extrapolated-rows=disabled max-scan-range-rows=12.31M
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=34 row-size=12B cardinality=8.25G cost=1425550548
| in pipelines: 35(GETNEXT)
|
-158:AGGREGATE [FINALIZE]
+159:AGGREGATE [FINALIZE]
| output: sum:merge(multiply(tpcds_partitioned_parquet_snap.store_sales.ss_quantity, tpcds_partitioned_parquet_snap.store_sales.ss_list_price)), count:merge()
| group by: tpcds_partitioned_parquet_snap.item.i_brand_id, tpcds_partitioned_parquet_snap.item.i_class_id, tpcds_partitioned_parquet_snap.item.i_category_id
| having: sum(multiply(tpcds_partitioned_parquet_snap.store_sales.ss_quantity, tpcds_partitioned_parquet_snap.store_sales.ss_list_price)) IS NOT NULL
| mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
| tuple-ids=33 row-size=36B cardinality=14.91K cost=26516592
-| in pipelines: 158(GETNEXT), 02(OPEN)
+| in pipelines: 159(GETNEXT), 02(OPEN)
|
-157:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item.i_brand_id,tpcds_partitioned_parquet_snap.item.i_class_id,tpcds_partitioned_parquet_snap.item.i_category_id)]
-| mem-estimate=14.22MB mem-reservation=0B thread-reservation=0
+158:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item.i_brand_id,tpcds_partitioned_parquet_snap.item.i_class_id,tpcds_partitioned_parquet_snap.item.i_category_id)]
+| mem-estimate=12.34MB mem-reservation=0B thread-reservation=0
| tuple-ids=33 row-size=36B cardinality=17.89M cost=4951380
| in pipelines: 02(GETNEXT)
|
-F00:PLAN FRAGMENT [RANDOM] hosts=10 instances=108 (adjusted from 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=42.88MB mem-reservation=9.50MB thread-reservation=1
-max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=399 [max(108 (self) vs 399 (sum children))]
+F20:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_sales.ss_item_sk)] hosts=10 instances=60 (adjusted from 120)
+Per-Instance Resources: mem-estimate=36.84MB mem-reservation=9.00MB thread-reservation=1
+max-parallelism=120 segment-costs=[1188373716, 50705571] cpu-comparison-result=419 [max(168 (self) vs 419 (sum children))]
32:AGGREGATE [STREAMING]
| output: sum(multiply(CAST(tpcds_partitioned_parquet_snap.store_sales.ss_quantity AS DECIMAL(10,0)), tpcds_partitioned_parquet_snap.store_sales.ss_list_price)), count()
| group by: tpcds_partitioned_parquet_snap.item.i_brand_id, tpcds_partitioned_parquet_snap.item.i_class_id, tpcds_partitioned_parquet_snap.item.i_category_id
| mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| tuple-ids=33 row-size=36B cardinality=17.89M cost=782483791
+| tuple-ids=33 row-size=36B cardinality=17.89M cost=785729300
| in pipelines: 02(GETNEXT)
|
-31:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
+31:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
| hash-table-id=12
| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item_0.i_item_sk
| mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=0,2,4 row-size=44B cardinality=485.73M cost=213244981
+| tuple-ids=0,2,4 row-size=44B cardinality=487.98M cost=213652215
| in pipelines: 02(GETNEXT), 154(OPEN)
|
-|--F106:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=384.43MB mem-reservation=374.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[834572] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+|--F109:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_sales.ss_item_sk)] hosts=10 instances=60 (adjusted from 120)
+| | Per-Instance Resources: mem-estimate=84.19MB mem-reservation=34.00MB thread-reservation=1
+| | max-parallelism=120 segment-costs=[75309154] cpu-comparison-result=394 [max(60 (self) vs 394 (sum children))]
| JOIN BUILD
| | join-table-id=12 plan-id=13 cohort-id=01
| | build expressions: tpcds_partitioned_parquet_snap.item_0.i_item_sk
| | runtime filters: RF001[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_item_sk
-| | mem-estimate=374.00MB mem-reservation=374.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
+| | mem-estimate=72.90MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0 cost=57334720
| |
-| 156:EXCHANGE [BROADCAST]
-| | mem-estimate=10.43MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=32,6 row-size=36B cardinality=358.34K cost=476230
+| 157:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_0.i_item_sk)]
+| | mem-estimate=11.29MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=32,6 row-size=36B cardinality=57.33M cost=17974434
| | in pipelines: 154(GETNEXT)
| |
-| F18:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| Per-Instance Resources: mem-estimate=131.67MB mem-reservation=34.00MB thread-reservation=1
-| max-parallelism=10 segment-costs=[2731445, 229990] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| F18:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=30 (adjusted from 120)
+| Per-Instance Resources: mem-estimate=20.31MB mem-reservation=1.94MB thread-reservation=1
+| max-parallelism=30 segment-costs=[1820963, 202468059] cpu-comparison-result=394 [max(30 (self) vs 394 (sum children))]
| 30:HASH JOIN [INNER JOIN, PARTITIONED]
| | hash-table-id=13
| | hash predicates: BRAND_ID = tpcds_partitioned_parquet_snap.item_0.i_brand_id, CATEGORY_ID = tpcds_partitioned_parquet_snap.item_0.i_category_id, CLASS_ID = tpcds_partitioned_parquet_snap.item_0.i_class_id
| | fk/pk conjuncts: assumed fk/pk
-| | mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-| | tuple-ids=32,6 row-size=36B cardinality=358.34K cost=179679
+| | mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
+| | tuple-ids=32,6 row-size=36B cardinality=57.33M cost=10465549
| | in pipelines: 154(GETNEXT), 07(OPEN)
| |
-| |--F107:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| | | Per-Instance Resources: mem-estimate=9.20MB mem-reservation=7.75MB thread-reservation=1 runtime-filters-memory=3.00MB
-| | | max-parallelism=10 segment-costs=[424527]
+| |--F110:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=30 (adjusted from 120)
+| | | Per-Instance Resources: mem-estimate=3.38MB mem-reservation=1.94MB thread-reservation=1
+| | | max-parallelism=30 segment-costs=[424527]
| | JOIN BUILD
| | | join-table-id=13 plan-id=14 cohort-id=05
| | | build expressions: tpcds_partitioned_parquet_snap.item_0.i_brand_id, tpcds_partitioned_parquet_snap.item_0.i_category_id, tpcds_partitioned_parquet_snap.item_0.i_class_id
-| | | runtime filters: RF006[bloom] <- tpcds_partitioned_parquet_snap.item_0.i_brand_id, RF007[bloom] <- tpcds_partitioned_parquet_snap.item_0.i_category_id, RF008[bloom] <- tpcds_partitioned_parquet_snap.item_0.i_class_id, RF009[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_brand_id, RF010[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_category_id, RF011[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_class_id
-| | | mem-estimate=4.75MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0 cost=358342
+| | | runtime filters: RF009[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_brand_id, RF010[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_category_id, RF011[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_class_id
+| | | mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=358342
| | |
| | 155:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_0.i_brand_id,tpcds_partitioned_parquet_snap.item_0.i_class_id,tpcds_partitioned_parquet_snap.item_0.i_category_id)]
| | | mem-estimate=1.45MB mem-reservation=0B thread-reservation=0
@@ -3976,7 +3989,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | in pipelines: 07(GETNEXT)
| | |
| | F19:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | Per-Instance Resources: mem-estimate=16.78MB mem-reservation=512.00KB thread-reservation=1
+| | Per-Instance Resources: mem-estimate=18.34MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=4 segment-costs=[667145]
| | 07:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | HDFS partitions=1/1 files=1 size=33.54MB
@@ -3994,52 +4007,52 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | output: count:merge()
| | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | having: count() = CAST(2 AS BIGINT)
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=32 row-size=20B cardinality=447.36K cost=2640587
+| | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | tuple-ids=32 row-size=20B cardinality=298.24K cost=1760391
| | in pipelines: 154(GETNEXT), 142(OPEN), 152(OPEN)
| |
| 153:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
-| | mem-estimate=3.67MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=32 row-size=20B cardinality=447.36K cost=90858
+| | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=32 row-size=20B cardinality=298.24K cost=60572
| | in pipelines: 142(GETNEXT), 152(GETNEXT)
| |
| F17:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| Per-Instance Resources: mem-estimate=260.32MB mem-reservation=68.00MB thread-reservation=1
-| max-parallelism=120 segment-costs=[28239822, 1820963, 2659596, 806679] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+| Per-Instance Resources: mem-estimate=34.69MB mem-reservation=6.75MB thread-reservation=1
+| max-parallelism=120 segment-costs=[28239822, 1142014, 1769895, 537786] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
| 29:AGGREGATE [STREAMING]
| | output: count()
| | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=32 row-size=20B cardinality=447.36K cost=2640587
+| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | tuple-ids=32 row-size=20B cardinality=298.24K cost=1760391
| | in pipelines: 142(GETNEXT), 152(GETNEXT)
| |
| 08:UNION
| | pass-through-operands: 142
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=31 row-size=12B cardinality=447.36K cost=19009
+| | tuple-ids=31 row-size=12B cardinality=298.24K cost=9504
| | in pipelines: 142(GETNEXT), 152(GETNEXT)
| |
| |--152:AGGREGATE [FINALIZE]
| | | output: count:merge()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | having: count() = CAST(2 AS BIGINT)
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=23 row-size=20B cardinality=298.24K cost=1760391
+| | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=23 row-size=20B cardinality=149.12K cost=1081913
| | | in pipelines: 152(GETNEXT), 146(OPEN), 150(OPEN)
| | |
| | 151:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
| | | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=23 row-size=20B cardinality=298.24K cost=60572
+| | | tuple-ids=23 row-size=20B cardinality=295.92K cost=60101
| | | in pipelines: 146(GETNEXT), 150(GETNEXT)
| | |
| | F15:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| | Per-Instance Resources: mem-estimate=161.12MB mem-reservation=38.75MB thread-reservation=1
-| | max-parallelism=120 segment-costs=[28239822, 28239822, 1760391, 537786] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
+| | Per-Instance Resources: mem-estimate=43.12MB mem-reservation=6.75MB thread-reservation=1
+| | max-parallelism=120 segment-costs=[28239822, 28239822, 1749885, 533602] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
| | 22:AGGREGATE [STREAMING]
| | | output: count()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=23 row-size=20B cardinality=298.24K cost=1760391
+| | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=23 row-size=20B cardinality=295.92K cost=1749885
| | | in pipelines: 146(GETNEXT), 150(GETNEXT)
| | |
| | 09:UNION
@@ -4060,6 +4073,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | | in pipelines: 16(GETNEXT)
| | | |
| | | F11: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=33.50MB mem-reservation=5.25MB thread-reservation=1
| | | max-parallelism=1040 segment-costs=[10321261528, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | | 21:AGGREGATE [STREAMING]
@@ -4076,13 +4090,13 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | | tuple-ids=15,17,19 row-size=32B cardinality=4.28G cost=1871878825
| | | | in pipelines: 16(GETNEXT), 19(OPEN)
| | | |
-| | | |--F112:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | |--F115:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | | max-parallelism=10 segment-costs=[834572]
| | | | JOIN BUILD
| | | | | join-table-id=18 plan-id=19 cohort-id=05
| | | | | build expressions: tpcds_partitioned_parquet_snap.item_2.i_item_sk
-| | | | | runtime filters: RF021[min_max] <- tpcds_partitioned_parquet_snap.item_2.i_item_sk
+| | | | | runtime filters: RF020[bloom] <- tpcds_partitioned_parquet_snap.item_2.i_item_sk, RF021[min_max] <- tpcds_partitioned_parquet_snap.item_2.i_item_sk
| | | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | | |
| | | | 148:EXCHANGE [BROADCAST]
@@ -4091,13 +4105,12 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | | | in pipelines: 19(GETNEXT)
| | | | |
| | | | F13:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | | 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=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=4 segment-costs=[146628]
| | | | 19:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | predicates: tpcds_partitioned_parquet_snap.item_2.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_2.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_2.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_2.i_item_sk IS NOT NULL
-| | | | runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_brand_id, RF010[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_category_id, RF011[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_class_id, RF006[bloom] -> tpcds_partitioned_parquet_snap.item_2.i_brand_id, RF007[bloom] -> tpcds_partitioned_parquet_snap.item_2.i_category_id, RF008[bloom] -> tpcds_partitioned_parquet_snap.item_2.i_class_id
+| | | | runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_brand_id, RF010[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_category_id, RF011[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_class_id
| | | | stored statistics:
| | | | table: rows=360.00K size=33.54MB
| | | | columns: all
@@ -4115,7 +4128,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | | tuple-ids=15,17 row-size=16B cardinality=4.28G(filtered from 4.30G) cost=1875853551
| | | | in pipelines: 16(GETNEXT), 17(OPEN)
| | | |
-| | | |--F113:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | |--F116:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | | max-parallelism=10 segment-costs=[17005]
| | | | JOIN BUILD
@@ -4148,7 +4161,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | partition predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_sold_date_sk IS NOT NULL
| | | HDFS partitions=1830/1831 files=1830 size=280.81GB
| | | predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk IS NOT NULL
-| | | runtime filters: RF021[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk
+| | | runtime filters: RF021[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk, RF020[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk
| | | stored statistics:
| | | table: rows=4.32G size=280.96GB
| | | partitions: 1830/1830 rows=4.30G
@@ -4171,6 +4184,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | in pipelines: 10(GETNEXT)
| | |
| | F07: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=33.50MB mem-reservation=5.50MB thread-reservation=1
| | max-parallelism=1823 segment-costs=[19733878056, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | 15:AGGREGATE [STREAMING]
@@ -4187,13 +4201,13 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | tuple-ids=8,10,12 row-size=32B cardinality=8.21G cost=3592473303
| | | in pipelines: 10(GETNEXT), 13(OPEN)
| | |
-| | |--F110:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | |--F113:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | max-parallelism=10 segment-costs=[834572]
| | | JOIN BUILD
| | | | join-table-id=16 plan-id=17 cohort-id=05
| | | | build expressions: tpcds_partitioned_parquet_snap.item_1.i_item_sk
-| | | | runtime filters: RF017[min_max] <- tpcds_partitioned_parquet_snap.item_1.i_item_sk
+| | | | runtime filters: RF016[bloom] <- tpcds_partitioned_parquet_snap.item_1.i_item_sk, RF017[min_max] <- tpcds_partitioned_parquet_snap.item_1.i_item_sk
| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | |
| | | 144:EXCHANGE [BROADCAST]
@@ -4202,13 +4216,12 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | | in pipelines: 13(GETNEXT)
| | | |
| | | F09:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | 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=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=4 segment-costs=[146628]
| | | 13:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | HDFS partitions=1/1 files=1 size=33.54MB
| | | predicates: tpcds_partitioned_parquet_snap.item_1.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_1.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_1.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_1.i_item_sk IS NOT NULL
-| | | runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_brand_id, RF010[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_category_id, RF011[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_class_id, RF006[bloom] -> tpcds_partitioned_parquet_snap.item_1.i_brand_id, RF007[bloom] -> tpcds_partitioned_parquet_snap.item_1.i_category_id, RF008[bloom] -> tpcds_partitioned_parquet_snap.item_1.i_class_id
+| | | runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_brand_id, RF010[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_category_id, RF011[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_class_id
| | | stored statistics:
| | | table: rows=360.00K size=33.54MB
| | | columns: all
@@ -4226,7 +4239,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | tuple-ids=8,10 row-size=16B cardinality=8.21G(filtered from 8.25G) cost=3600101519
| | | in pipelines: 10(GETNEXT), 11(OPEN)
| | |
-| | |--F111:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | |--F114:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | max-parallelism=10 segment-costs=[17005]
| | | JOIN BUILD
@@ -4259,12 +4272,12 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | partition predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_sold_date_sk IS NOT NULL
| | HDFS partitions=1823/1824 files=1823 size=389.69GB
| | predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk IS NOT NULL
-| | runtime filters: RF017[min_max] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk
+| | runtime filters: RF017[min_max] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk, RF016[bloom] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk
| | stored statistics:
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=8 row-size=8B cardinality=8.21G(filtered from 8.25G) cost=1182183990
@@ -4282,6 +4295,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | in pipelines: 23(GETNEXT)
| |
| F03: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=33.50MB mem-reservation=5.12MB thread-reservation=1
| max-parallelism=530 segment-costs=[5225256796, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| 28:AGGREGATE [STREAMING]
@@ -4298,13 +4312,13 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | tuple-ids=24,26,28 row-size=32B cardinality=2.15G cost=940346390
| | in pipelines: 23(GETNEXT), 26(OPEN)
| |
-| |--F108:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| |--F111:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | max-parallelism=10 segment-costs=[834572]
| | JOIN BUILD
| | | join-table-id=14 plan-id=15 cohort-id=05
| | | build expressions: tpcds_partitioned_parquet_snap.item_3.i_item_sk
-| | | runtime filters: RF013[min_max] <- tpcds_partitioned_parquet_snap.item_3.i_item_sk
+| | | runtime filters: RF012[bloom] <- tpcds_partitioned_parquet_snap.item_3.i_item_sk, RF013[min_max] <- tpcds_partitioned_parquet_snap.item_3.i_item_sk
| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | |
| | 140:EXCHANGE [BROADCAST]
@@ -4313,13 +4327,12 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | in pipelines: 26(GETNEXT)
| | |
| | F05:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | 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=16.08MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=4 segment-costs=[146628]
| | 26:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | HDFS partitions=1/1 files=1 size=33.54MB
| | predicates: tpcds_partitioned_parquet_snap.item_3.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_3.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_3.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_3.i_item_sk IS NOT NULL
-| | runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_brand_id, RF010[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_category_id, RF011[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_class_id, RF006[bloom] -> tpcds_partitioned_parquet_snap.item_3.i_brand_id, RF007[bloom] -> tpcds_partitioned_parquet_snap.item_3.i_category_id, RF008[bloom] -> tpcds_partitioned_parquet_snap.item_3.i_class_id
+| | runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_brand_id, RF010[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_category_id, RF011[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_class_id
| | stored statistics:
| | table: rows=360.00K size=33.54MB
| | columns: all
@@ -4337,7 +4350,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | tuple-ids=24,26 row-size=16B cardinality=2.15G(filtered from 2.16G) cost=942343110
| | in pipelines: 23(GETNEXT), 24(OPEN)
| |
-| |--F109:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| |--F112:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | max-parallelism=10 segment-costs=[17005]
| | JOIN BUILD
@@ -4370,7 +4383,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| partition predicates: tpcds_partitioned_parquet_snap.web_sales.ws_sold_date_sk IS NOT NULL
| HDFS partitions=1823/1824 files=1823 size=145.67GB
| predicates: tpcds_partitioned_parquet_snap.web_sales.ws_item_sk IS NOT NULL
-| runtime filters: RF013[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk
+| runtime filters: RF013[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk, RF012[bloom] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk
| stored statistics:
| table: rows=2.16G size=145.75GB
| partitions: 1823/1823 rows=2.16G
@@ -4381,6 +4394,15 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| tuple-ids=24 row-size=8B cardinality=2.15G(filtered from 2.16G) cost=309442090
| in pipelines: 23(GETNEXT)
|
+156:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.store_sales.ss_item_sk)]
+| mem-estimate=15.91MB mem-reservation=0B thread-reservation=0
+| tuple-ids=0,2,4 row-size=44B cardinality=488.23M cost=188992201
+| in pipelines: 02(GETNEXT)
+|
+F00:PLAN FRAGMENT [RANDOM] hosts=10 instances=108 (adjusted from 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=29.12MB mem-reservation=512.00KB thread-reservation=1
+max-parallelism=108 segment-costs=[2691870145]
06:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=20
| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
@@ -4389,7 +4411,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| tuple-ids=0,2,4 row-size=44B cardinality=488.23M cost=213759041
| in pipelines: 02(GETNEXT), 05(OPEN)
|
-|--F114:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+|--F117:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | Per-Instance Resources: mem-estimate=379.57MB mem-reservation=374.00MB thread-reservation=1
| | max-parallelism=10 segment-costs=[838440]
| JOIN BUILD
@@ -4427,7 +4449,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| tuple-ids=0,2 row-size=28B cardinality=488.47M cost=213803274
| in pipelines: 02(GETNEXT), 03(OPEN)
|
-|--F115:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+|--F118:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | Per-Instance Resources: mem-estimate=22.33MB mem-reservation=22.31MB thread-reservation=1 runtime-filters-memory=1.00MB
| | max-parallelism=10 segment-costs=[248]
| JOIN BUILD
@@ -4466,14 +4488,14 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=108(filtered from 1823)
+ extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=108(filtered from 1823)
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=0 row-size=16B cardinality=488.47M(filtered from 8.25G) cost=126269468
in pipelines: 02(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=12.17GB Threads=338
-Per-Host Resource Estimates: Memory=33.38GB
+Max Per-Host Resource Reservation: Memory=7.04GB Threads=382
+Per-Host Resource Estimates: Memory=16.30GB
ImpalaSortRel(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0, 1, 2, 3}], groups=[[{0, 1, 2, 3}, {0, 1, 2}, {0, 1}, {0}, {}]], EXPR$4=[SUM($4)], EXPR$5=[SUM($5)])
ImpalaUnionRel(all=[true])
@@ -4796,37 +4818,37 @@ ImpalaSortRel(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
ImpalaProjectRel(d_date_sk=[$0], d_year=[$6])
ImpalaFilterRel(condition=[AND(SEARCH($6, Sarg[[1998..2000]]), IS NOT NULL($0))])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, date_dim]])
-F93:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
+F96:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.05MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[634] cpu-comparison-result=1557 [max(1 (self) vs 1557 (sum children))]
+| max-parallelism=1 segment-costs=[634] cpu-comparison-result=1617 [max(1 (self) vs 1617 (sum children))]
PLAN-ROOT SINK
| output exprs: CASE valid_tid(152,153,154,155,156) WHEN 152 THEN CHANNEL WHEN 153 THEN CHANNEL WHEN 154 THEN CHANNEL WHEN 155 THEN CHANNEL WHEN 156 THEN NULL END, CASE valid_tid(152,153,154,155,156) WHEN 152 THEN I_BRAND_ID WHEN 153 THEN I_BRAND_ID WHEN 154 THEN I_BRAND_ID WHEN 155 THEN NULL WHEN 156 THEN NULL END, CASE valid_tid(152,153,154,155,156) WHEN 152 THEN I_CLASS_ID WHEN 153 THEN I_CLASS_ID WHEN 154 THEN NULL WHEN 155 THEN NULL WHEN 156 THEN NULL END, CASE valid_tid(152,153,15 [...]
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=600
|
-223:MERGING-EXCHANGE [UNPARTITIONED]
+226:MERGING-EXCHANGE [UNPARTITIONED]
| order by: CASE valid_tid(152,153,154,155,156) WHEN 152 THEN CHANNEL WHEN 153 THEN CHANNEL WHEN 154 THEN CHANNEL WHEN 155 THEN CHANNEL WHEN 156 THEN NULL END ASC NULLS LAST, CASE valid_tid(152,153,154,155,156) WHEN 152 THEN I_BRAND_ID WHEN 153 THEN I_BRAND_ID WHEN 154 THEN I_BRAND_ID WHEN 155 THEN NULL WHEN 156 THEN NULL END ASC NULLS LAST, CASE valid_tid(152,153,154,155,156) WHEN 152 THEN I_CLASS_ID WHEN 153 THEN I_CLASS_ID WHEN 154 THEN NULL WHEN 155 THEN NULL WHEN 156 THEN NULL END [...]
| limit: 100
| mem-estimate=51.25KB mem-reservation=0B thread-reservation=0
| tuple-ids=158 row-size=48B cardinality=100 cost=34
| in pipelines: 136(GETNEXT)
|
-F92:PLAN FRAGMENT [HASH(CASE valid_tid(152,153,154,155,156) WHEN 152 THEN murmur_hash(CHANNEL) WHEN 153 THEN murmur_hash(CHANNEL) WHEN 154 THEN murmur_hash(CHANNEL) WHEN 155 THEN murmur_hash(CHANNEL) WHEN 156 THEN murmur_hash(NULL) END,CASE valid_tid(152,153,154,155,156) WHEN 152 THEN murmur_hash(I_BRAND_ID) WHEN 153 THEN murmur_hash(I_BRAND_ID) WHEN 154 THEN murmur_hash(I_BRAND_ID) WHEN 155 THEN murmur_hash(NULL) WHEN 156 THEN murmur_hash(NULL) END,CASE valid_tid(152,153,154,155,156) WH [...]
-Per-Instance Resources: mem-estimate=650.00MB mem-reservation=171.94MB thread-reservation=1
-max-parallelism=10 segment-costs=[1312875, 1068766, 1760431, 157] cpu-comparison-result=1557 [max(10 (self) vs 1557 (sum children))]
+F95:PLAN FRAGMENT [HASH(CASE valid_tid(152,153,154,155,156) WHEN 152 THEN murmur_hash(CHANNEL) WHEN 153 THEN murmur_hash(CHANNEL) WHEN 154 THEN murmur_hash(CHANNEL) WHEN 155 THEN murmur_hash(CHANNEL) WHEN 156 THEN murmur_hash(NULL) END,CASE valid_tid(152,153,154,155,156) WHEN 152 THEN murmur_hash(I_BRAND_ID) WHEN 153 THEN murmur_hash(I_BRAND_ID) WHEN 154 THEN murmur_hash(I_BRAND_ID) WHEN 155 THEN murmur_hash(NULL) WHEN 156 THEN murmur_hash(NULL) END,CASE valid_tid(152,153,154,155,156) WH [...]
+Per-Instance Resources: mem-estimate=70.82MB mem-reservation=14.44MB thread-reservation=1
+max-parallelism=10 segment-costs=[804527, 567803, 886354, 157] cpu-comparison-result=1617 [max(10 (self) vs 1617 (sum children))]
136:TOP-N [LIMIT=100]
| order by: CASE valid_tid(152,153,154,155,156) WHEN 152 THEN CHANNEL WHEN 153 THEN CHANNEL WHEN 154 THEN CHANNEL WHEN 155 THEN CHANNEL WHEN 156 THEN NULL END ASC NULLS LAST, CASE valid_tid(152,153,154,155,156) WHEN 152 THEN I_BRAND_ID WHEN 153 THEN I_BRAND_ID WHEN 154 THEN I_BRAND_ID WHEN 155 THEN NULL WHEN 156 THEN NULL END ASC NULLS LAST, CASE valid_tid(152,153,154,155,156) WHEN 152 THEN I_CLASS_ID WHEN 153 THEN I_CLASS_ID WHEN 154 THEN NULL WHEN 155 THEN NULL WHEN 156 THEN NULL END [...]
| mem-estimate=4.69KB mem-reservation=0B thread-reservation=0
-| tuple-ids=158 row-size=48B cardinality=100 cost=1760431
+| tuple-ids=158 row-size=48B cardinality=100 cost=886354
| in pipelines: 136(GETNEXT), 135(OPEN)
|
135:AGGREGATE [FINALIZE]
| output: aggif(valid_tid(152,153,154,155,156) IN (CAST(152 AS INT), CAST(153 AS INT), CAST(154 AS INT), CAST(155 AS INT), CAST(156 AS INT)), CASE valid_tid(152,153,154,155,156) WHEN CAST(152 AS INT) THEN sum(SALES) WHEN CAST(153 AS INT) THEN sum(SALES) WHEN CAST(154 AS INT) THEN sum(SALES) WHEN CAST(155 AS INT) THEN sum(SALES) WHEN CAST(156 AS INT) THEN sum(SALES) END), aggif(valid_tid(152,153,154,155,156) IN (CAST(152 AS INT), CAST(153 AS INT), CAST(154 AS INT), CAST(155 AS INT), CAST [...]
| group by: CASE valid_tid(152,153,154,155,156) WHEN CAST(152 AS INT) THEN CHANNEL WHEN CAST(153 AS INT) THEN CHANNEL WHEN CAST(154 AS INT) THEN CHANNEL WHEN CAST(155 AS INT) THEN CHANNEL WHEN CAST(156 AS INT) THEN NULL END, CASE valid_tid(152,153,154,155,156) WHEN CAST(152 AS INT) THEN I_BRAND_ID WHEN CAST(153 AS INT) THEN I_BRAND_ID WHEN CAST(154 AS INT) THEN I_BRAND_ID WHEN CAST(155 AS INT) THEN NULL WHEN CAST(156 AS INT) THEN NULL END, CASE valid_tid(152,153,154,155,156) WHEN CAST(1 [...]
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=157 row-size=52B cardinality=178.94K cost=1068766
-| in pipelines: 135(GETNEXT), 222(OPEN)
+| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=157 row-size=52B cardinality=95.07K cost=567803
+| in pipelines: 135(GETNEXT), 225(OPEN)
|
-222:AGGREGATE [FINALIZE]
+225:AGGREGATE [FINALIZE]
| Class 0
| output: sum:merge(SALES), sum:merge(NUMBER_SALES)
| group by: CHANNEL, I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID
@@ -4842,18 +4864,18 @@ max-parallelism=10 segment-costs=[1312875, 1068766, 1760431, 157] cpu-comparison
| Class 4
| output: sum:merge(SALES), sum:merge(NUMBER_SALES)
| group by: NULL, NULL, NULL, NULL
-| mem-estimate=522.00MB mem-reservation=137.94MB thread-reservation=0
-| tuple-ids=152N,153N,154N,155N,156N row-size=240B cardinality=178.94K cost=1068937
-| in pipelines: 222(GETNEXT), 158(OPEN), 186(OPEN), 214(OPEN)
+| mem-estimate=50.00MB mem-reservation=12.50MB thread-reservation=0
+| tuple-ids=152N,153N,154N,155N,156N row-size=240B cardinality=95.07K cost=622971
+| in pipelines: 225(GETNEXT), 159(OPEN), 188(OPEN), 217(OPEN)
|
-221:EXCHANGE [HASH(CASE valid_tid(152,153,154,155,156) WHEN 152 THEN murmur_hash(CHANNEL) WHEN 153 THEN murmur_hash(CHANNEL) WHEN 154 THEN murmur_hash(CHANNEL) WHEN 155 THEN murmur_hash(CHANNEL) WHEN 156 THEN murmur_hash(NULL) END,CASE valid_tid(152,153,154,155,156) WHEN 152 THEN murmur_hash(I_BRAND_ID) WHEN 153 THEN murmur_hash(I_BRAND_ID) WHEN 154 THEN murmur_hash(I_BRAND_ID) WHEN 155 THEN murmur_hash(NULL) WHEN 156 THEN murmur_hash(NULL) END,CASE valid_tid(152,153,154,155,156) WHEN 15 [...]
-| mem-estimate=31.52MB mem-reservation=0B thread-reservation=0
-| tuple-ids=152N,153N,154N,155N,156N row-size=240B cardinality=179.06K cost=243938
-| in pipelines: 158(GETNEXT), 186(GETNEXT), 214(GETNEXT)
+224:EXCHANGE [HASH(CASE valid_tid(152,153,154,155,156) WHEN 152 THEN murmur_hash(CHANNEL) WHEN 153 THEN murmur_hash(CHANNEL) WHEN 154 THEN murmur_hash(CHANNEL) WHEN 155 THEN murmur_hash(CHANNEL) WHEN 156 THEN murmur_hash(NULL) END,CASE valid_tid(152,153,154,155,156) WHEN 152 THEN murmur_hash(I_BRAND_ID) WHEN 153 THEN murmur_hash(I_BRAND_ID) WHEN 154 THEN murmur_hash(I_BRAND_ID) WHEN 155 THEN murmur_hash(NULL) WHEN 156 THEN murmur_hash(NULL) END,CASE valid_tid(152,153,154,155,156) WHEN 15 [...]
+| mem-estimate=20.82MB mem-reservation=0B thread-reservation=0
+| tuple-ids=152N,153N,154N,155N,156N row-size=240B cardinality=133.27K cost=181556
+| in pipelines: 159(GETNEXT), 188(GETNEXT), 217(GETNEXT)
|
-F91:PLAN FRAGMENT [RANDOM] hosts=10 instances=108 (adjusted from 120)
-Per-Instance Resources: mem-estimate=556.38MB mem-reservation=146.50MB thread-reservation=1
-max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 3228882] cpu-comparison-result=1557 [max(108 (self) vs 1557 (sum children))]
+F94:PLAN FRAGMENT [RANDOM] hosts=10 instances=70 (adjusted from 120)
+Per-Instance Resources: mem-estimate=82.89MB mem-reservation=18.50MB thread-reservation=1
+max-parallelism=70 segment-costs=[31467972, 31467972, 31443606, 943657, 2403160] cpu-comparison-result=1617 [max(70 (self) vs 1617 (sum children))]
134:AGGREGATE [STREAMING]
| Class 0
| output: sum(SALES), sum(NUMBER_SALES)
@@ -4870,51 +4892,51 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| Class 4
| output: sum(SALES), sum(NUMBER_SALES)
| group by: NULL, NULL, NULL, NULL
-| mem-estimate=522.00MB mem-reservation=138.00MB thread-reservation=0
-| tuple-ids=152N,153N,154N,155N,156N row-size=240B cardinality=179.06K cost=1133906
-| in pipelines: 158(GETNEXT), 186(GETNEXT), 214(GETNEXT)
+| mem-estimate=50.00MB mem-reservation=10.00MB thread-reservation=0
+| tuple-ids=152N,153N,154N,155N,156N row-size=240B cardinality=133.27K cost=926536
+| in pipelines: 159(GETNEXT), 188(GETNEXT), 217(GETNEXT)
|
00:UNION
| pass-through-operands: 01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=151 row-size=48B cardinality=44.74K cost=2652
-| in pipelines: 158(GETNEXT), 186(GETNEXT), 214(GETNEXT)
+| in pipelines: 159(GETNEXT), 188(GETNEXT), 217(GETNEXT)
|
|--133:NESTED LOOP JOIN [INNER JOIN, BROADCAST]
| | join table id: 08
| | predicates: sum(multiply(tpcds_partitioned_parquet_snap.web_sales_3.ws_quantity, tpcds_partitioned_parquet_snap.web_sales_3.ws_list_price)) > CAST(avg(multiply(QUANTITY, LIST_PRICE)) AS DECIMAL(38,2))
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=134,150 row-size=52B cardinality=14.91K cost=3055
-| | in pipelines: 214(GETNEXT), 219(OPEN)
+| | in pipelines: 217(GETNEXT), 222(OPEN)
| |
-| |--F102:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| |--F105:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | Per-Instance Resources: mem-estimate=16.02KB mem-reservation=0B thread-reservation=1
| | | max-parallelism=10 segment-costs=[0] cpu-comparison-result=120 [max(10 (self) vs 120 (sum children))]
| | JOIN BUILD
| | | join-table-id=08 plan-id=09 cohort-id=01
| | | mem-estimate=16B mem-reservation=0B thread-reservation=0 cost=0
| | |
-| | 220:EXCHANGE [BROADCAST]
+| | 223:EXCHANGE [BROADCAST]
| | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
| | | tuple-ids=150 row-size=16B cardinality=1 cost=0
-| | | in pipelines: 219(GETNEXT)
+| | | in pipelines: 222(GETNEXT)
| | |
-| | F90:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
+| | F93:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| | Per-Instance Resources: mem-estimate=297.44KB mem-reservation=0B thread-reservation=1
| | max-parallelism=1 segment-costs=[30, 0] cpu-comparison-result=120 [max(1 (self) vs 120 (sum children))]
-| | 219:AGGREGATE [FINALIZE]
+| | 222:AGGREGATE [FINALIZE]
| | | output: avg:merge(multiply(QUANTITY, LIST_PRICE))
| | | having: avg(multiply(QUANTITY, LIST_PRICE)) IS NOT NULL
| | | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=150 row-size=16B cardinality=1 cost=8
-| | | in pipelines: 219(GETNEXT), 132(OPEN)
+| | | in pipelines: 222(GETNEXT), 132(OPEN)
| | |
-| | 218:EXCHANGE [UNPARTITIONED]
+| | 221:EXCHANGE [UNPARTITIONED]
| | | mem-estimate=281.44KB mem-reservation=0B thread-reservation=0
| | | tuple-ids=149 row-size=16B cardinality=120 cost=22
| | | in pipelines: 132(GETNEXT)
| | |
-| | F89:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | F92:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=16.02MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=120 segment-costs=[10759546738, 185] cpu-comparison-result=120 [max(120 (self) vs 33 (sum children))]
| | 132:AGGREGATE
@@ -4937,7 +4959,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=144,146 row-size=20B cardinality=2.16G cost=945169594
| | | | in pipelines: 129(GETNEXT), 130(OPEN)
| | | |
-| | | |--F105:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | |--F108:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | | max-parallelism=10 segment-costs=[17005]
| | | | JOIN BUILD
@@ -4945,12 +4967,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_19.d_date_sk
| | | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | | |
-| | | | 217:EXCHANGE [BROADCAST]
+| | | | 220:EXCHANGE [BROADCAST]
| | | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=146 row-size=8B cardinality=7.30K cost=9700
| | | | | in pipelines: 130(GETNEXT)
| | | | |
-| | | | F88:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | | F91:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=1 segment-costs=[14888]
| | | | 130:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -4991,7 +5013,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=139,141 row-size=20B cardinality=4.30G cost=1881480025
| | | | in pipelines: 126(GETNEXT), 127(OPEN)
| | | |
-| | | |--F104:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | |--F107:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | | max-parallelism=10 segment-costs=[17005]
| | | | JOIN BUILD
@@ -4999,12 +5021,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_18.d_date_sk
| | | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | | |
-| | | | 216:EXCHANGE [BROADCAST]
+| | | | 219:EXCHANGE [BROADCAST]
| | | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=141 row-size=8B cardinality=7.30K cost=9700
| | | | | in pipelines: 127(GETNEXT)
| | | | |
-| | | | F85:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | | F88:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=1 segment-costs=[14888]
| | | | 127:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -5040,7 +5062,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=135,137 row-size=20B cardinality=8.25G cost=3610899739
| | | in pipelines: 123(GETNEXT), 124(OPEN)
| | |
-| | |--F103:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | |--F106:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | max-parallelism=10 segment-costs=[17005]
| | | JOIN BUILD
@@ -5048,12 +5070,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_17.d_date_sk
| | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | |
-| | | 215:EXCHANGE [BROADCAST]
+| | | 218:EXCHANGE [BROADCAST]
| | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=137 row-size=8B cardinality=7.30K cost=9700
| | | | in pipelines: 124(GETNEXT)
| | | |
-| | | F83:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | F86:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=1 segment-costs=[14888]
| | | 124:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -5076,83 +5098,82 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=135 row-size=12B cardinality=8.25G cost=1425550548
| | in pipelines: 123(GETNEXT)
| |
-| 214:AGGREGATE [FINALIZE]
+| 217:AGGREGATE [FINALIZE]
| | output: sum:merge(multiply(tpcds_partitioned_parquet_snap.web_sales_3.ws_quantity, tpcds_partitioned_parquet_snap.web_sales_3.ws_list_price)), count:merge()
| | group by: tpcds_partitioned_parquet_snap.item_9.i_brand_id, tpcds_partitioned_parquet_snap.item_9.i_class_id, tpcds_partitioned_parquet_snap.item_9.i_category_id
| | having: sum(multiply(tpcds_partitioned_parquet_snap.web_sales_3.ws_quantity, tpcds_partitioned_parquet_snap.web_sales_3.ws_list_price)) IS NOT NULL
| | mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
-| | tuple-ids=134 row-size=36B cardinality=14.91K cost=26495451
-| | in pipelines: 214(GETNEXT), 90(OPEN)
+| | tuple-ids=134 row-size=36B cardinality=14.91K cost=26496144
+| | in pipelines: 217(GETNEXT), 90(OPEN)
| |
-| 213:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_9.i_brand_id,tpcds_partitioned_parquet_snap.item_9.i_class_id,tpcds_partitioned_parquet_snap.item_9.i_category_id)]
-| | mem-estimate=11.95MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=134 row-size=36B cardinality=17.88M cost=4947329
+| 216:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_9.i_brand_id,tpcds_partitioned_parquet_snap.item_9.i_class_id,tpcds_partitioned_parquet_snap.item_9.i_category_id)]
+| | mem-estimate=11.56MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=134 row-size=36B cardinality=17.88M cost=4947462
| | in pipelines: 90(GETNEXT)
| |
-| F61:PLAN FRAGMENT [RANDOM] hosts=10 instances=50 (adjusted from 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=42.88MB mem-reservation=9.12MB thread-reservation=1
-| max-parallelism=50 segment-costs=[465361858, 50664087] cpu-comparison-result=399 [max(50 (self) vs 399 (sum children))]
+| F83:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.web_sales_3.ws_item_sk)] hosts=10 instances=40 (adjusted from 120)
+| Per-Instance Resources: mem-estimate=35.31MB mem-reservation=9.00MB thread-reservation=1
+| max-parallelism=40 segment-costs=[370821718, 50665448] cpu-comparison-result=419 [max(120 (self) vs 419 (sum children))]
| 120:AGGREGATE [STREAMING]
| | output: sum(multiply(CAST(tpcds_partitioned_parquet_snap.web_sales_3.ws_quantity AS DECIMAL(10,0)), tpcds_partitioned_parquet_snap.web_sales_3.ws_list_price)), count()
| | group by: tpcds_partitioned_parquet_snap.item_9.i_brand_id, tpcds_partitioned_parquet_snap.item_9.i_class_id, tpcds_partitioned_parquet_snap.item_9.i_category_id
| | mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| | tuple-ids=134 row-size=36B cardinality=17.88M cost=264575992
+| | tuple-ids=134 row-size=36B cardinality=17.88M cost=265427692
| | in pipelines: 90(GETNEXT)
| |
-| 119:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
+| 119:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
| | hash-table-id=32
| | hash predicates: tpcds_partitioned_parquet_snap.web_sales_3.ws_item_sk = tpcds_partitioned_parquet_snap.item_10.i_item_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=101,103,105 row-size=44B cardinality=127.14M cost=55817853
-| | in pipelines: 90(GETNEXT), 210(OPEN)
+| | tuple-ids=101,103,105 row-size=44B cardinality=127.73M cost=55924449
+| | in pipelines: 90(GETNEXT), 212(OPEN)
| |
-| |--F126:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=180.43MB mem-reservation=170.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[834572] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| |--F129:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.web_sales_3.ws_item_sk)] hosts=10 instances=40 (adjusted from 120)
+| | | Per-Instance Resources: mem-estimate=120.63MB mem-reservation=34.00MB thread-reservation=1
+| | | max-parallelism=40 segment-costs=[75309154] cpu-comparison-result=394 [max(40 (self) vs 394 (sum children))]
| | JOIN BUILD
| | | join-table-id=32 plan-id=33 cohort-id=01
| | | build expressions: tpcds_partitioned_parquet_snap.item_10.i_item_sk
| | | runtime filters: RF061[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_item_sk
-| | | mem-estimate=170.00MB mem-reservation=170.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
+| | | mem-estimate=109.34MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0 cost=57334720
| | |
-| | 212:EXCHANGE [BROADCAST]
-| | | mem-estimate=10.43MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=133,107 row-size=36B cardinality=358.34K cost=476230
-| | | in pipelines: 210(GETNEXT)
+| | 215:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_10.i_item_sk)]
+| | | mem-estimate=11.29MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=133,107 row-size=36B cardinality=57.33M cost=17974434
+| | | in pipelines: 212(GETNEXT)
| | |
-| | F79:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| | Per-Instance Resources: mem-estimate=131.67MB mem-reservation=34.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[2731445, 229990] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| | F81:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=30 (adjusted from 120)
+| | Per-Instance Resources: mem-estimate=16.88MB mem-reservation=1.94MB thread-reservation=1
+| | max-parallelism=30 segment-costs=[1820963, 202468059] cpu-comparison-result=394 [max(30 (self) vs 394 (sum children))]
| | 118:HASH JOIN [INNER JOIN, PARTITIONED]
| | | hash-table-id=33
| | | hash predicates: BRAND_ID = tpcds_partitioned_parquet_snap.item_10.i_brand_id, CATEGORY_ID = tpcds_partitioned_parquet_snap.item_10.i_category_id, CLASS_ID = tpcds_partitioned_parquet_snap.item_10.i_class_id
| | | fk/pk conjuncts: assumed fk/pk
-| | | mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=133,107 row-size=36B cardinality=358.34K cost=179679
-| | | in pipelines: 210(GETNEXT), 95(OPEN)
+| | | mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=133,107 row-size=36B cardinality=57.33M cost=10465549
+| | | in pipelines: 212(GETNEXT), 95(OPEN)
| | |
-| | |--F127:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| | | | Per-Instance Resources: mem-estimate=7.20MB mem-reservation=5.75MB thread-reservation=1 runtime-filters-memory=1.00MB
-| | | | max-parallelism=10 segment-costs=[424527]
+| | |--F130:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=30 (adjusted from 120)
+| | | | Per-Instance Resources: mem-estimate=3.38MB mem-reservation=1.94MB thread-reservation=1
+| | | | max-parallelism=30 segment-costs=[424527]
| | | JOIN BUILD
| | | | join-table-id=33 plan-id=34 cohort-id=07
| | | | build expressions: tpcds_partitioned_parquet_snap.item_10.i_brand_id, tpcds_partitioned_parquet_snap.item_10.i_category_id, tpcds_partitioned_parquet_snap.item_10.i_class_id
-| | | | runtime filters: RF066[bloom] <- tpcds_partitioned_parquet_snap.item_10.i_brand_id, RF069[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_brand_id, RF070[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_category_id, RF071[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_class_id
-| | | | mem-estimate=4.75MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0 cost=358342
+| | | | runtime filters: RF069[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_brand_id, RF070[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_category_id, RF071[min_max] <- tpcds_partitioned_parquet_snap.item_10.i_class_id
+| | | | mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=358342
| | | |
-| | | 211:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_10.i_brand_id,tpcds_partitioned_parquet_snap.item_10.i_class_id,tpcds_partitioned_parquet_snap.item_10.i_category_id)]
+| | | 213:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_10.i_brand_id,tpcds_partitioned_parquet_snap.item_10.i_class_id,tpcds_partitioned_parquet_snap.item_10.i_category_id)]
| | | | mem-estimate=1.45MB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=107 row-size=16B cardinality=358.34K cost=66185
| | | | in pipelines: 95(GETNEXT)
| | | |
-| | | F80:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | Per-Instance Resources: mem-estimate=16.78MB mem-reservation=512.00KB thread-reservation=1
+| | | F82:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
+| | | Per-Instance Resources: mem-estimate=18.34MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=4 segment-costs=[667145]
| | | 95:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | HDFS partitions=1/1 files=1 size=33.54MB
@@ -5166,76 +5187,77 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=107 row-size=16B cardinality=358.34K cost=113292
| | | in pipelines: 95(GETNEXT)
| | |
-| | 210:AGGREGATE [FINALIZE]
+| | 212:AGGREGATE [FINALIZE]
| | | output: count:merge()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | having: count() = CAST(2 AS BIGINT)
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=133 row-size=20B cardinality=447.36K cost=2640587
-| | | in pipelines: 210(GETNEXT), 198(OPEN), 208(OPEN)
-| | |
-| | 209:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
-| | | mem-estimate=3.67MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=133 row-size=20B cardinality=447.36K cost=90858
-| | | in pipelines: 198(GETNEXT), 208(GETNEXT)
-| | |
-| | F78:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| | Per-Instance Resources: mem-estimate=260.32MB mem-reservation=68.00MB thread-reservation=1
-| | max-parallelism=120 segment-costs=[28239822, 1820963, 2659596, 806679] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+| | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=133 row-size=20B cardinality=298.24K cost=1760391
+| | | in pipelines: 212(GETNEXT), 200(OPEN), 210(OPEN)
+| | |
+| | 211:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
+| | | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=133 row-size=20B cardinality=298.24K cost=60572
+| | | in pipelines: 200(GETNEXT), 210(GETNEXT)
+| | |
+| | F80:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | Per-Instance Resources: mem-estimate=34.69MB mem-reservation=6.75MB thread-reservation=1
+| | max-parallelism=120 segment-costs=[28239822, 1142014, 1769895, 537786] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
| | 117:AGGREGATE [STREAMING]
| | | output: count()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=133 row-size=20B cardinality=447.36K cost=2640587
-| | | in pipelines: 198(GETNEXT), 208(GETNEXT)
+| | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=133 row-size=20B cardinality=298.24K cost=1760391
+| | | in pipelines: 200(GETNEXT), 210(GETNEXT)
| | |
| | 96:UNION
-| | | pass-through-operands: 198
+| | | pass-through-operands: 200
| | | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | | tuple-ids=132 row-size=12B cardinality=447.36K cost=19009
-| | | in pipelines: 198(GETNEXT), 208(GETNEXT)
+| | | tuple-ids=132 row-size=12B cardinality=298.24K cost=9504
+| | | in pipelines: 200(GETNEXT), 210(GETNEXT)
| | |
-| | |--208:AGGREGATE [FINALIZE]
+| | |--210:AGGREGATE [FINALIZE]
| | | | output: count:merge()
| | | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | | having: count() = CAST(2 AS BIGINT)
-| | | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | | tuple-ids=124 row-size=20B cardinality=298.24K cost=1760391
-| | | | in pipelines: 208(GETNEXT), 202(OPEN), 206(OPEN)
+| | | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | | | tuple-ids=124 row-size=20B cardinality=149.12K cost=1081913
+| | | | in pipelines: 210(GETNEXT), 204(OPEN), 208(OPEN)
| | | |
-| | | 207:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
+| | | 209:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
| | | | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=124 row-size=20B cardinality=298.24K cost=60572
-| | | | in pipelines: 202(GETNEXT), 206(GETNEXT)
+| | | | tuple-ids=124 row-size=20B cardinality=295.92K cost=60101
+| | | | in pipelines: 204(GETNEXT), 208(GETNEXT)
| | | |
-| | | F76:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| | | Per-Instance Resources: mem-estimate=161.12MB mem-reservation=38.75MB thread-reservation=1
-| | | max-parallelism=120 segment-costs=[28239822, 28239822, 1760391, 537786] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
+| | | F78:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | | Per-Instance Resources: mem-estimate=43.12MB mem-reservation=6.75MB thread-reservation=1
+| | | max-parallelism=120 segment-costs=[28239822, 28239822, 1749885, 533602] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
| | | 110:AGGREGATE [STREAMING]
| | | | output: count()
| | | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | | tuple-ids=124 row-size=20B cardinality=298.24K cost=1760391
-| | | | in pipelines: 202(GETNEXT), 206(GETNEXT)
+| | | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | | | tuple-ids=124 row-size=20B cardinality=295.92K cost=1749885
+| | | | in pipelines: 204(GETNEXT), 208(GETNEXT)
| | | |
| | | 97:UNION
| | | | pass-through-operands: all
| | | | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | | | tuple-ids=123 row-size=12B cardinality=298.24K cost=0
-| | | | in pipelines: 202(GETNEXT), 206(GETNEXT)
+| | | | in pipelines: 204(GETNEXT), 208(GETNEXT)
| | | |
-| | | |--206:AGGREGATE [FINALIZE]
+| | | |--208:AGGREGATE [FINALIZE]
| | | | | group by: tpcds_partitioned_parquet_snap.item_12.i_brand_id, tpcds_partitioned_parquet_snap.item_12.i_class_id, tpcds_partitioned_parquet_snap.item_12.i_category_id
| | | | | mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| | | | | tuple-ids=122 row-size=12B cardinality=149.12K cost=25263984
-| | | | | in pipelines: 206(GETNEXT), 104(OPEN)
+| | | | | in pipelines: 208(GETNEXT), 104(OPEN)
| | | | |
-| | | | 205:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_12.i_brand_id,tpcds_partitioned_parquet_snap.item_12.i_class_id,tpcds_partitioned_parquet_snap.item_12.i_category_id)]
+| | | | 207:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_12.i_brand_id,tpcds_partitioned_parquet_snap.item_12.i_class_id,tpcds_partitioned_parquet_snap.item_12.i_category_id)]
| | | | | mem-estimate=11.88MB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=122 row-size=12B cardinality=17.89M cost=2975838
| | | | | in pipelines: 104(GETNEXT)
| | | | |
-| | | | F72:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | | | F74: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=33.50MB mem-reservation=5.25MB thread-reservation=1
| | | | max-parallelism=1040 segment-costs=[10321261528, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | | | 109:AGGREGATE [STREAMING]
@@ -5252,28 +5274,27 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | tuple-ids=116,118,120 row-size=32B cardinality=4.28G cost=1871878825
| | | | | in pipelines: 104(GETNEXT), 107(OPEN)
| | | | |
-| | | | |--F132:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | | |--F135:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | | | max-parallelism=10 segment-costs=[834572]
| | | | | JOIN BUILD
| | | | | | join-table-id=38 plan-id=39 cohort-id=07
| | | | | | build expressions: tpcds_partitioned_parquet_snap.item_12.i_item_sk
-| | | | | | runtime filters: RF081[min_max] <- tpcds_partitioned_parquet_snap.item_12.i_item_sk
+| | | | | | runtime filters: RF080[bloom] <- tpcds_partitioned_parquet_snap.item_12.i_item_sk, RF081[min_max] <- tpcds_partitioned_parquet_snap.item_12.i_item_sk
| | | | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | | | |
-| | | | | 204:EXCHANGE [BROADCAST]
+| | | | | 206:EXCHANGE [BROADCAST]
| | | | | | mem-estimate=5.55MB mem-reservation=0B thread-reservation=0
| | | | | | tuple-ids=120 row-size=16B cardinality=358.34K cost=476230
| | | | | | in pipelines: 107(GETNEXT)
| | | | | |
-| | | | | F74:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | | | Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
+| | | | | F76:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
| | | | | Per-Instance Resources: mem-estimate=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | | | max-parallelism=4 segment-costs=[146628]
| | | | | 107:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | | predicates: tpcds_partitioned_parquet_snap.item_12.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_12.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_12.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_12.i_item_sk IS NOT NULL
-| | | | | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.item_12.i_brand_id, RF070[min_max] -> tpcds_partitioned_parquet_snap.item_12.i_category_id, RF071[min_max] -> tpcds_partitioned_parquet_snap.item_12.i_class_id, RF066[bloom] -> tpcds_partitioned_parquet_snap.item_12.i_brand_id
+| | | | | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.item_12.i_brand_id, RF070[min_max] -> tpcds_partitioned_parquet_snap.item_12.i_category_id, RF071[min_max] -> tpcds_partitioned_parquet_snap.item_12.i_class_id
| | | | | stored statistics:
| | | | | table: rows=360.00K size=33.54MB
| | | | | columns: all
@@ -5291,7 +5312,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | tuple-ids=116,118 row-size=16B cardinality=4.28G(filtered from 4.30G) cost=1875853551
| | | | | in pipelines: 104(GETNEXT), 105(OPEN)
| | | | |
-| | | | |--F133:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | | |--F136:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | | | max-parallelism=10 segment-costs=[17005]
| | | | | JOIN BUILD
@@ -5299,12 +5320,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_15.d_date_sk
| | | | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | | | |
-| | | | | 203:EXCHANGE [BROADCAST]
+| | | | | 205:EXCHANGE [BROADCAST]
| | | | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | | | tuple-ids=118 row-size=8B cardinality=7.30K cost=9700
| | | | | | in pipelines: 105(GETNEXT)
| | | | | |
-| | | | | F73:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | | | F75:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | | | max-parallelism=1 segment-costs=[14888]
| | | | | 105:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -5324,7 +5345,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | partition predicates: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_sold_date_sk IS NOT NULL
| | | | HDFS partitions=1830/1831 files=1830 size=280.81GB
| | | | predicates: tpcds_partitioned_parquet_snap.catalog_sales_4.cs_item_sk IS NOT NULL
-| | | | runtime filters: RF081[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_4.cs_item_sk
+| | | | runtime filters: RF081[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_4.cs_item_sk, RF080[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_4.cs_item_sk
| | | | stored statistics:
| | | | table: rows=4.32G size=280.96GB
| | | | partitions: 1830/1830 rows=4.30G
@@ -5335,18 +5356,19 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=116 row-size=8B cardinality=4.28G(filtered from 4.30G) cost=615983750
| | | | in pipelines: 104(GETNEXT)
| | | |
-| | | 202:AGGREGATE [FINALIZE]
+| | | 204:AGGREGATE [FINALIZE]
| | | | group by: tpcds_partitioned_parquet_snap.item_11.i_brand_id, tpcds_partitioned_parquet_snap.item_11.i_class_id, tpcds_partitioned_parquet_snap.item_11.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| | | | tuple-ids=115 row-size=12B cardinality=149.12K cost=25263984
-| | | | in pipelines: 202(GETNEXT), 98(OPEN)
+| | | | in pipelines: 204(GETNEXT), 98(OPEN)
| | | |
-| | | 201:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_11.i_brand_id,tpcds_partitioned_parquet_snap.item_11.i_class_id,tpcds_partitioned_parquet_snap.item_11.i_category_id)]
+| | | 203:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_11.i_brand_id,tpcds_partitioned_parquet_snap.item_11.i_class_id,tpcds_partitioned_parquet_snap.item_11.i_category_id)]
| | | | mem-estimate=11.88MB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=115 row-size=12B cardinality=17.89M cost=2975838
| | | | in pipelines: 98(GETNEXT)
| | | |
-| | | F68:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | | F70: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=33.50MB mem-reservation=5.50MB thread-reservation=1
| | | max-parallelism=1823 segment-costs=[19733878056, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | | 103:AGGREGATE [STREAMING]
@@ -5363,28 +5385,27 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=109,111,113 row-size=32B cardinality=8.21G cost=3592473303
| | | | in pipelines: 98(GETNEXT), 101(OPEN)
| | | |
-| | | |--F130:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | |--F133:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | | max-parallelism=10 segment-costs=[834572]
| | | | JOIN BUILD
| | | | | join-table-id=36 plan-id=37 cohort-id=07
| | | | | build expressions: tpcds_partitioned_parquet_snap.item_11.i_item_sk
-| | | | | runtime filters: RF077[min_max] <- tpcds_partitioned_parquet_snap.item_11.i_item_sk
+| | | | | runtime filters: RF076[bloom] <- tpcds_partitioned_parquet_snap.item_11.i_item_sk, RF077[min_max] <- tpcds_partitioned_parquet_snap.item_11.i_item_sk
| | | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | | |
-| | | | 200:EXCHANGE [BROADCAST]
+| | | | 202:EXCHANGE [BROADCAST]
| | | | | mem-estimate=5.55MB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=113 row-size=16B cardinality=358.34K cost=476230
| | | | | in pipelines: 101(GETNEXT)
| | | | |
-| | | | F70:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | | Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
+| | | | F72:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
| | | | Per-Instance Resources: mem-estimate=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=4 segment-costs=[146628]
| | | | 101:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | predicates: tpcds_partitioned_parquet_snap.item_11.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_11.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_11.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_11.i_item_sk IS NOT NULL
-| | | | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.item_11.i_brand_id, RF070[min_max] -> tpcds_partitioned_parquet_snap.item_11.i_category_id, RF071[min_max] -> tpcds_partitioned_parquet_snap.item_11.i_class_id, RF066[bloom] -> tpcds_partitioned_parquet_snap.item_11.i_brand_id
+| | | | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.item_11.i_brand_id, RF070[min_max] -> tpcds_partitioned_parquet_snap.item_11.i_category_id, RF071[min_max] -> tpcds_partitioned_parquet_snap.item_11.i_class_id
| | | | stored statistics:
| | | | table: rows=360.00K size=33.54MB
| | | | columns: all
@@ -5402,7 +5423,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=109,111 row-size=16B cardinality=8.21G(filtered from 8.25G) cost=3600101519
| | | | in pipelines: 98(GETNEXT), 99(OPEN)
| | | |
-| | | |--F131:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | |--F134:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | | max-parallelism=10 segment-costs=[17005]
| | | | JOIN BUILD
@@ -5410,12 +5431,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_14.d_date_sk
| | | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | | |
-| | | | 199:EXCHANGE [BROADCAST]
+| | | | 201:EXCHANGE [BROADCAST]
| | | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=111 row-size=8B cardinality=7.30K cost=9700
| | | | | in pipelines: 99(GETNEXT)
| | | | |
-| | | | F69:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | | F71:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=1 segment-costs=[14888]
| | | | 99:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -5435,29 +5456,29 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | partition predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_sold_date_sk IS NOT NULL
| | | HDFS partitions=1823/1824 files=1823 size=389.69GB
| | | predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk IS NOT NULL
-| | | runtime filters: RF077[min_max] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk
+| | | runtime filters: RF077[min_max] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk, RF076[bloom] -> tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk
| | | stored statistics:
| | | table: rows=8.64G size=389.90GB
| | | partitions: 1823/1823 rows=8.25G
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk IS NOT NULL
| | | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | | tuple-ids=109 row-size=8B cardinality=8.21G(filtered from 8.25G) cost=1182183990
| | | in pipelines: 98(GETNEXT)
| | |
-| | 198:AGGREGATE [FINALIZE]
+| | 200:AGGREGATE [FINALIZE]
| | | group by: tpcds_partitioned_parquet_snap.item_13.i_brand_id, tpcds_partitioned_parquet_snap.item_13.i_class_id, tpcds_partitioned_parquet_snap.item_13.i_category_id
| | | mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| | | tuple-ids=131 row-size=12B cardinality=149.12K cost=25263984
-| | | in pipelines: 198(GETNEXT), 111(OPEN)
+| | | in pipelines: 200(GETNEXT), 111(OPEN)
| | |
-| | 197:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_13.i_brand_id,tpcds_partitioned_parquet_snap.item_13.i_class_id,tpcds_partitioned_parquet_snap.item_13.i_category_id)]
+| | 199:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_13.i_brand_id,tpcds_partitioned_parquet_snap.item_13.i_class_id,tpcds_partitioned_parquet_snap.item_13.i_category_id)]
| | | mem-estimate=11.88MB mem-reservation=0B thread-reservation=0
| | | tuple-ids=131 row-size=12B cardinality=17.89M cost=2975838
| | | in pipelines: 111(GETNEXT)
| | |
-| | F64:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | F66:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=33.50MB mem-reservation=5.12MB thread-reservation=1
| | max-parallelism=530 segment-costs=[5225256796, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | 116:AGGREGATE [STREAMING]
@@ -5474,7 +5495,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=125,127,129 row-size=32B cardinality=2.15G cost=940346390
| | | in pipelines: 111(GETNEXT), 114(OPEN)
| | |
-| | |--F128:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | |--F131:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
| | | | max-parallelism=10 segment-costs=[834572]
| | | JOIN BUILD
@@ -5483,19 +5504,18 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | runtime filters: RF073[min_max] <- tpcds_partitioned_parquet_snap.item_13.i_item_sk
| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | |
-| | | 196:EXCHANGE [BROADCAST]
+| | | 198:EXCHANGE [BROADCAST]
| | | | mem-estimate=5.55MB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=129 row-size=16B cardinality=358.34K cost=476230
| | | | in pipelines: 114(GETNEXT)
| | | |
-| | | F66:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
+| | | F68:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
| | | Per-Instance Resources: mem-estimate=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=4 segment-costs=[146628]
| | | 114:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | HDFS partitions=1/1 files=1 size=33.54MB
| | | predicates: tpcds_partitioned_parquet_snap.item_13.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_13.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_13.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_13.i_item_sk IS NOT NULL
-| | | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.item_13.i_brand_id, RF070[min_max] -> tpcds_partitioned_parquet_snap.item_13.i_category_id, RF071[min_max] -> tpcds_partitioned_parquet_snap.item_13.i_class_id, RF066[bloom] -> tpcds_partitioned_parquet_snap.item_13.i_brand_id
+| | | runtime filters: RF069[min_max] -> tpcds_partitioned_parquet_snap.item_13.i_brand_id, RF070[min_max] -> tpcds_partitioned_parquet_snap.item_13.i_category_id, RF071[min_max] -> tpcds_partitioned_parquet_snap.item_13.i_class_id
| | | stored statistics:
| | | table: rows=360.00K size=33.54MB
| | | columns: all
@@ -5513,7 +5533,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=125,127 row-size=16B cardinality=2.15G(filtered from 2.16G) cost=942343110
| | | in pipelines: 111(GETNEXT), 112(OPEN)
| | |
-| | |--F129:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | |--F132:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | max-parallelism=10 segment-costs=[17005]
| | | JOIN BUILD
@@ -5521,12 +5541,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_16.d_date_sk
| | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | |
-| | | 195:EXCHANGE [BROADCAST]
+| | | 197:EXCHANGE [BROADCAST]
| | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=127 row-size=8B cardinality=7.30K cost=9700
| | | | in pipelines: 112(GETNEXT)
| | | |
-| | | F65:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | F67:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=1 segment-costs=[14888]
| | | 112:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -5557,6 +5577,15 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | tuple-ids=125 row-size=8B cardinality=2.15G(filtered from 2.16G) cost=309442090
| | in pipelines: 111(GETNEXT)
| |
+| 214:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.web_sales_3.ws_item_sk)]
+| | mem-estimate=14.38MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=101,103,105 row-size=44B cardinality=127.80M cost=49469577
+| | in pipelines: 90(GETNEXT)
+| |
+| F63:PLAN FRAGMENT [RANDOM] hosts=10 instances=80 (adjusted from 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=24.75MB mem-reservation=128.00KB thread-reservation=1
+| max-parallelism=80 segment-costs=[704609379]
| 94:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=40
| | hash predicates: tpcds_partitioned_parquet_snap.web_sales_3.ws_item_sk = tpcds_partitioned_parquet_snap.item_9.i_item_sk
@@ -5565,21 +5594,21 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | tuple-ids=101,103,105 row-size=44B cardinality=127.80M cost=55952411
| | in pipelines: 90(GETNEXT), 93(OPEN)
| |
-| |--F134:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=175.57MB mem-reservation=170.00MB thread-reservation=1
+| |--F137:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=277.57MB mem-reservation=272.00MB thread-reservation=1
| | | max-parallelism=10 segment-costs=[838440]
| | JOIN BUILD
| | | join-table-id=40 plan-id=41 cohort-id=01
| | | build expressions: tpcds_partitioned_parquet_snap.item_9.i_item_sk
| | | runtime filters: RF063[min_max] <- tpcds_partitioned_parquet_snap.item_9.i_item_sk
-| | | mem-estimate=170.00MB mem-reservation=170.00MB spill-buffer=2.00MB thread-reservation=0 cost=360000
+| | | mem-estimate=272.00MB mem-reservation=272.00MB spill-buffer=2.00MB thread-reservation=0 cost=360000
| | |
-| | 194:EXCHANGE [BROADCAST]
+| | 196:EXCHANGE [BROADCAST]
| | | mem-estimate=5.57MB mem-reservation=0B thread-reservation=0
| | | tuple-ids=105 row-size=16B cardinality=360.00K cost=478440
| | | in pipelines: 93(GETNEXT)
| | |
-| | F63:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
+| | F65:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
| | Per-Instance Resources: mem-estimate=16.08MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=4 segment-costs=[116388]
| | 93:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
@@ -5603,21 +5632,21 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | tuple-ids=101,103 row-size=28B cardinality=127.86M cost=55963989
| | in pipelines: 90(GETNEXT), 91(OPEN)
| |
-| |--F135:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=10.70MB mem-reservation=10.69MB thread-reservation=1 runtime-filters-memory=1.00MB
+| |--F138:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=16.52MB mem-reservation=16.50MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | max-parallelism=10 segment-costs=[248]
| | JOIN BUILD
| | | join-table-id=41 plan-id=42 cohort-id=01
| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
| | | runtime filters: RF064[bloom] <- tpcds_partitioned_parquet_snap.date_dim_13.d_date_sk
-| | | mem-estimate=9.69MB mem-reservation=9.69MB spill-buffer=64.00KB thread-reservation=0 cost=108
+| | | mem-estimate=15.50MB mem-reservation=15.50MB spill-buffer=64.00KB thread-reservation=0 cost=108
| | |
-| | 193:EXCHANGE [BROADCAST]
+| | 195:EXCHANGE [BROADCAST]
| | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
| | | tuple-ids=103 row-size=12B cardinality=108 cost=140
| | | in pipelines: 91(GETNEXT)
| | |
-| | F62:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | F64:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | Per-Instance Resources: mem-estimate=16.06MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=1 segment-costs=[18785]
| | 91:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -5651,43 +5680,43 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
01:UNION
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=100 row-size=48B cardinality=29.82K cost=5304
-| in pipelines: 158(GETNEXT), 186(GETNEXT)
+| in pipelines: 159(GETNEXT), 188(GETNEXT)
|
|--89:NESTED LOOP JOIN [INNER JOIN, BROADCAST]
| | join table id: 04
| | predicates: sum(multiply(tpcds_partitioned_parquet_snap.catalog_sales_1.cs_quantity, tpcds_partitioned_parquet_snap.catalog_sales_1.cs_list_price)) > CAST(avg(multiply(QUANTITY, LIST_PRICE)) AS DECIMAL(38,2))
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | tuple-ids=83,99 row-size=52B cardinality=14.91K cost=3055
-| | in pipelines: 186(GETNEXT), 191(OPEN)
+| | in pipelines: 188(GETNEXT), 193(OPEN)
| |
-| |--F98:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| |--F101:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | Per-Instance Resources: mem-estimate=16.02KB mem-reservation=0B thread-reservation=1
| | | max-parallelism=10 segment-costs=[0] cpu-comparison-result=120 [max(10 (self) vs 120 (sum children))]
| | JOIN BUILD
| | | join-table-id=04 plan-id=05 cohort-id=01
| | | mem-estimate=16B mem-reservation=0B thread-reservation=0 cost=0
| | |
-| | 192:EXCHANGE [BROADCAST]
+| | 194:EXCHANGE [BROADCAST]
| | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
| | | tuple-ids=99 row-size=16B cardinality=1 cost=0
-| | | in pipelines: 191(GETNEXT)
+| | | in pipelines: 193(GETNEXT)
| | |
-| | F59:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
+| | F61:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| | Per-Instance Resources: mem-estimate=297.44KB mem-reservation=0B thread-reservation=1
| | max-parallelism=1 segment-costs=[30, 0] cpu-comparison-result=120 [max(1 (self) vs 120 (sum children))]
-| | 191:AGGREGATE [FINALIZE]
+| | 193:AGGREGATE [FINALIZE]
| | | output: avg:merge(multiply(QUANTITY, LIST_PRICE))
| | | having: avg(multiply(QUANTITY, LIST_PRICE)) IS NOT NULL
| | | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=99 row-size=16B cardinality=1 cost=8
-| | | in pipelines: 191(GETNEXT), 88(OPEN)
+| | | in pipelines: 193(GETNEXT), 88(OPEN)
| | |
-| | 190:EXCHANGE [UNPARTITIONED]
+| | 192:EXCHANGE [UNPARTITIONED]
| | | mem-estimate=281.44KB mem-reservation=0B thread-reservation=0
| | | tuple-ids=98 row-size=16B cardinality=120 cost=22
| | | in pipelines: 88(GETNEXT)
| | |
-| | F58:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | F60:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=16.02MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=120 segment-costs=[10759546738, 185] cpu-comparison-result=120 [max(120 (self) vs 33 (sum children))]
| | 88:AGGREGATE
@@ -5710,7 +5739,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=93,95 row-size=20B cardinality=2.16G cost=945169594
| | | | in pipelines: 85(GETNEXT), 86(OPEN)
| | | |
-| | | |--F101:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | |--F104:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | | max-parallelism=10 segment-costs=[17005]
| | | | JOIN BUILD
@@ -5718,12 +5747,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_12.d_date_sk
| | | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | | |
-| | | | 189:EXCHANGE [BROADCAST]
+| | | | 191:EXCHANGE [BROADCAST]
| | | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=95 row-size=8B cardinality=7.30K cost=9700
| | | | | in pipelines: 86(GETNEXT)
| | | | |
-| | | | F57:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | | F59:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=1 segment-costs=[14888]
| | | | 86:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -5764,7 +5793,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=88,90 row-size=20B cardinality=4.30G cost=1881480025
| | | | in pipelines: 82(GETNEXT), 83(OPEN)
| | | |
-| | | |--F100:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | |--F103:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | | max-parallelism=10 segment-costs=[17005]
| | | | JOIN BUILD
@@ -5772,12 +5801,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_11.d_date_sk
| | | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | | |
-| | | | 188:EXCHANGE [BROADCAST]
+| | | | 190:EXCHANGE [BROADCAST]
| | | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=90 row-size=8B cardinality=7.30K cost=9700
| | | | | in pipelines: 83(GETNEXT)
| | | | |
-| | | | F54:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | | F56:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=1 segment-costs=[14888]
| | | | 83:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -5813,7 +5842,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=84,86 row-size=20B cardinality=8.25G cost=3610899739
| | | in pipelines: 79(GETNEXT), 80(OPEN)
| | |
-| | |--F99:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | |--F102:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | max-parallelism=10 segment-costs=[17005]
| | | JOIN BUILD
@@ -5821,12 +5850,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
| | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | |
-| | | 187:EXCHANGE [BROADCAST]
+| | | 189:EXCHANGE [BROADCAST]
| | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=86 row-size=8B cardinality=7.30K cost=9700
| | | | in pipelines: 80(GETNEXT)
| | | |
-| | | F52:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | F54:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=1 segment-costs=[14888]
| | | 80:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -5849,83 +5878,82 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=84 row-size=12B cardinality=8.25G cost=1425550548
| | in pipelines: 79(GETNEXT)
| |
-| 186:AGGREGATE [FINALIZE]
+| 188:AGGREGATE [FINALIZE]
| | output: sum:merge(multiply(tpcds_partitioned_parquet_snap.catalog_sales_1.cs_quantity, tpcds_partitioned_parquet_snap.catalog_sales_1.cs_list_price)), count:merge()
| | group by: tpcds_partitioned_parquet_snap.item_4.i_brand_id, tpcds_partitioned_parquet_snap.item_4.i_class_id, tpcds_partitioned_parquet_snap.item_4.i_category_id
| | having: sum(multiply(tpcds_partitioned_parquet_snap.catalog_sales_1.cs_quantity, tpcds_partitioned_parquet_snap.catalog_sales_1.cs_list_price)) IS NOT NULL
| | mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
| | tuple-ids=83 row-size=36B cardinality=14.91K cost=26516592
-| | in pipelines: 186(GETNEXT), 46(OPEN)
+| | in pipelines: 188(GETNEXT), 46(OPEN)
| |
-| 185:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_4.i_brand_id,tpcds_partitioned_parquet_snap.item_4.i_class_id,tpcds_partitioned_parquet_snap.item_4.i_category_id)]
-| | mem-estimate=13.52MB mem-reservation=0B thread-reservation=0
+| 187:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_4.i_brand_id,tpcds_partitioned_parquet_snap.item_4.i_class_id,tpcds_partitioned_parquet_snap.item_4.i_category_id)]
+| | mem-estimate=12.73MB mem-reservation=0B thread-reservation=0
| | tuple-ids=83 row-size=36B cardinality=17.89M cost=4951380
| | in pipelines: 46(GETNEXT)
| |
-| F30:PLAN FRAGMENT [RANDOM] hosts=10 instances=90 (adjusted from 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=42.88MB mem-reservation=9.25MB thread-reservation=1
-| max-parallelism=90 segment-costs=[843293230, 50705571] cpu-comparison-result=399 [max(90 (self) vs 399 (sum children))]
+| F51:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk)] hosts=10 instances=70 (adjusted from 120)
+| Per-Instance Resources: mem-estimate=36.84MB mem-reservation=9.00MB thread-reservation=1
+| max-parallelism=70 segment-costs=[655814247, 50705571] cpu-comparison-result=419 [max(178 (self) vs 419 (sum children))]
| 76:AGGREGATE [STREAMING]
| | output: sum(multiply(CAST(tpcds_partitioned_parquet_snap.catalog_sales_1.cs_quantity AS DECIMAL(10,0)), tpcds_partitioned_parquet_snap.catalog_sales_1.cs_list_price)), count()
| | group by: tpcds_partitioned_parquet_snap.item_4.i_brand_id, tpcds_partitioned_parquet_snap.item_4.i_class_id, tpcds_partitioned_parquet_snap.item_4.i_category_id
| | mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| | tuple-ids=83 row-size=36B cardinality=17.89M cost=445131515
+| | tuple-ids=83 row-size=36B cardinality=17.89M cost=446816141
| | in pipelines: 46(GETNEXT)
| |
-| 75:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
+| 75:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
| | hash-table-id=22
| | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk = tpcds_partitioned_parquet_snap.item_5.i_item_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=50,52,54 row-size=44B cardinality=252.13M cost=110687732
-| | in pipelines: 46(GETNEXT), 182(OPEN)
+| | tuple-ids=50,52,54 row-size=44B cardinality=253.29M cost=110899112
+| | in pipelines: 46(GETNEXT), 183(OPEN)
| |
-| |--F116:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=316.43MB mem-reservation=306.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[834572] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| |--F119:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk)] hosts=10 instances=70 (adjusted from 120)
+| | | Per-Instance Resources: mem-estimate=73.77MB mem-reservation=34.00MB thread-reservation=1
+| | | max-parallelism=70 segment-costs=[75309154] cpu-comparison-result=394 [max(70 (self) vs 394 (sum children))]
| | JOIN BUILD
| | | join-table-id=22 plan-id=23 cohort-id=01
| | | build expressions: tpcds_partitioned_parquet_snap.item_5.i_item_sk
| | | runtime filters: RF031[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_item_sk
-| | | mem-estimate=306.00MB mem-reservation=306.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
+| | | mem-estimate=62.48MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0 cost=57334720
| | |
-| | 184:EXCHANGE [BROADCAST]
-| | | mem-estimate=10.43MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=82,56 row-size=36B cardinality=358.34K cost=476230
-| | | in pipelines: 182(GETNEXT)
+| | 186:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_5.i_item_sk)]
+| | | mem-estimate=11.29MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=82,56 row-size=36B cardinality=57.33M cost=17974434
+| | | in pipelines: 183(GETNEXT)
| | |
-| | F48:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| | Per-Instance Resources: mem-estimate=131.67MB mem-reservation=34.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[2731445, 229990] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| | F49:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=30 (adjusted from 120)
+| | Per-Instance Resources: mem-estimate=22.03MB mem-reservation=1.94MB thread-reservation=1
+| | max-parallelism=30 segment-costs=[1820963, 202468059] cpu-comparison-result=394 [max(30 (self) vs 394 (sum children))]
| | 74:HASH JOIN [INNER JOIN, PARTITIONED]
| | | hash-table-id=23
| | | hash predicates: BRAND_ID = tpcds_partitioned_parquet_snap.item_5.i_brand_id, CATEGORY_ID = tpcds_partitioned_parquet_snap.item_5.i_category_id, CLASS_ID = tpcds_partitioned_parquet_snap.item_5.i_class_id
| | | fk/pk conjuncts: assumed fk/pk
-| | | mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=82,56 row-size=36B cardinality=358.34K cost=179679
-| | | in pipelines: 182(GETNEXT), 51(OPEN)
+| | | mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=82,56 row-size=36B cardinality=57.33M cost=10465549
+| | | in pipelines: 183(GETNEXT), 51(OPEN)
| | |
-| | |--F117:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| | | | Per-Instance Resources: mem-estimate=9.20MB mem-reservation=7.75MB thread-reservation=1 runtime-filters-memory=3.00MB
-| | | | max-parallelism=10 segment-costs=[424527]
+| | |--F120:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=30 (adjusted from 120)
+| | | | Per-Instance Resources: mem-estimate=3.38MB mem-reservation=1.94MB thread-reservation=1
+| | | | max-parallelism=30 segment-costs=[424527]
| | | JOIN BUILD
| | | | join-table-id=23 plan-id=24 cohort-id=06
| | | | build expressions: tpcds_partitioned_parquet_snap.item_5.i_brand_id, tpcds_partitioned_parquet_snap.item_5.i_category_id, tpcds_partitioned_parquet_snap.item_5.i_class_id
-| | | | runtime filters: RF036[bloom] <- tpcds_partitioned_parquet_snap.item_5.i_brand_id, RF037[bloom] <- tpcds_partitioned_parquet_snap.item_5.i_category_id, RF038[bloom] <- tpcds_partitioned_parquet_snap.item_5.i_class_id, RF039[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_brand_id, RF040[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_category_id, RF041[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_class_id
-| | | | mem-estimate=4.75MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0 cost=358342
+| | | | runtime filters: RF039[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_brand_id, RF040[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_category_id, RF041[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_class_id
+| | | | mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=358342
| | | |
-| | | 183:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_5.i_brand_id,tpcds_partitioned_parquet_snap.item_5.i_class_id,tpcds_partitioned_parquet_snap.item_5.i_category_id)]
+| | | 184:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_5.i_brand_id,tpcds_partitioned_parquet_snap.item_5.i_class_id,tpcds_partitioned_parquet_snap.item_5.i_category_id)]
| | | | mem-estimate=1.45MB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=56 row-size=16B cardinality=358.34K cost=66185
| | | | in pipelines: 51(GETNEXT)
| | | |
-| | | F49:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | Per-Instance Resources: mem-estimate=16.78MB mem-reservation=512.00KB thread-reservation=1
+| | | F50:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
+| | | Per-Instance Resources: mem-estimate=18.34MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=4 segment-costs=[667145]
| | | 51:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | HDFS partitions=1/1 files=1 size=33.54MB
@@ -5939,76 +5967,77 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=56 row-size=16B cardinality=358.34K cost=113292
| | | in pipelines: 51(GETNEXT)
| | |
-| | 182:AGGREGATE [FINALIZE]
+| | 183:AGGREGATE [FINALIZE]
| | | output: count:merge()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | having: count() = CAST(2 AS BIGINT)
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=82 row-size=20B cardinality=447.36K cost=2640587
-| | | in pipelines: 182(GETNEXT), 170(OPEN), 180(OPEN)
-| | |
-| | 181:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
-| | | mem-estimate=3.67MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=82 row-size=20B cardinality=447.36K cost=90858
-| | | in pipelines: 170(GETNEXT), 180(GETNEXT)
-| | |
-| | F47:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| | Per-Instance Resources: mem-estimate=260.32MB mem-reservation=68.00MB thread-reservation=1
-| | max-parallelism=120 segment-costs=[28239822, 1820963, 2659596, 806679] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+| | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=82 row-size=20B cardinality=298.24K cost=1760391
+| | | in pipelines: 183(GETNEXT), 171(OPEN), 181(OPEN)
+| | |
+| | 182:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
+| | | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=82 row-size=20B cardinality=298.24K cost=60572
+| | | in pipelines: 171(GETNEXT), 181(GETNEXT)
+| | |
+| | F48:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | Per-Instance Resources: mem-estimate=34.69MB mem-reservation=6.75MB thread-reservation=1
+| | max-parallelism=120 segment-costs=[28239822, 1142014, 1769895, 537786] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
| | 73:AGGREGATE [STREAMING]
| | | output: count()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=82 row-size=20B cardinality=447.36K cost=2640587
-| | | in pipelines: 170(GETNEXT), 180(GETNEXT)
+| | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=82 row-size=20B cardinality=298.24K cost=1760391
+| | | in pipelines: 171(GETNEXT), 181(GETNEXT)
| | |
| | 52:UNION
-| | | pass-through-operands: 170
+| | | pass-through-operands: 171
| | | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | | tuple-ids=81 row-size=12B cardinality=447.36K cost=19009
-| | | in pipelines: 170(GETNEXT), 180(GETNEXT)
+| | | tuple-ids=81 row-size=12B cardinality=298.24K cost=9504
+| | | in pipelines: 171(GETNEXT), 181(GETNEXT)
| | |
-| | |--180:AGGREGATE [FINALIZE]
+| | |--181:AGGREGATE [FINALIZE]
| | | | output: count:merge()
| | | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | | having: count() = CAST(2 AS BIGINT)
-| | | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | | tuple-ids=73 row-size=20B cardinality=298.24K cost=1760391
-| | | | in pipelines: 180(GETNEXT), 174(OPEN), 178(OPEN)
+| | | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | | | tuple-ids=73 row-size=20B cardinality=149.12K cost=1081913
+| | | | in pipelines: 181(GETNEXT), 175(OPEN), 179(OPEN)
| | | |
-| | | 179:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
+| | | 180:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
| | | | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=73 row-size=20B cardinality=298.24K cost=60572
-| | | | in pipelines: 174(GETNEXT), 178(GETNEXT)
+| | | | tuple-ids=73 row-size=20B cardinality=295.92K cost=60101
+| | | | in pipelines: 175(GETNEXT), 179(GETNEXT)
| | | |
-| | | F45:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| | | Per-Instance Resources: mem-estimate=161.12MB mem-reservation=38.75MB thread-reservation=1
-| | | max-parallelism=120 segment-costs=[28239822, 28239822, 1760391, 537786] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
+| | | F46:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | | Per-Instance Resources: mem-estimate=43.12MB mem-reservation=6.75MB thread-reservation=1
+| | | max-parallelism=120 segment-costs=[28239822, 28239822, 1749885, 533602] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
| | | 66:AGGREGATE [STREAMING]
| | | | output: count()
| | | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | | tuple-ids=73 row-size=20B cardinality=298.24K cost=1760391
-| | | | in pipelines: 174(GETNEXT), 178(GETNEXT)
+| | | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | | | tuple-ids=73 row-size=20B cardinality=295.92K cost=1749885
+| | | | in pipelines: 175(GETNEXT), 179(GETNEXT)
| | | |
| | | 53:UNION
| | | | pass-through-operands: all
| | | | mem-estimate=0B mem-reservation=0B thread-reservation=0
| | | | tuple-ids=72 row-size=12B cardinality=298.24K cost=0
-| | | | in pipelines: 174(GETNEXT), 178(GETNEXT)
+| | | | in pipelines: 175(GETNEXT), 179(GETNEXT)
| | | |
-| | | |--178:AGGREGATE [FINALIZE]
+| | | |--179:AGGREGATE [FINALIZE]
| | | | | group by: tpcds_partitioned_parquet_snap.item_7.i_brand_id, tpcds_partitioned_parquet_snap.item_7.i_class_id, tpcds_partitioned_parquet_snap.item_7.i_category_id
| | | | | mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| | | | | tuple-ids=71 row-size=12B cardinality=149.12K cost=25263984
-| | | | | in pipelines: 178(GETNEXT), 60(OPEN)
+| | | | | in pipelines: 179(GETNEXT), 60(OPEN)
| | | | |
-| | | | 177:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_7.i_brand_id,tpcds_partitioned_parquet_snap.item_7.i_class_id,tpcds_partitioned_parquet_snap.item_7.i_category_id)]
+| | | | 178:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_7.i_brand_id,tpcds_partitioned_parquet_snap.item_7.i_class_id,tpcds_partitioned_parquet_snap.item_7.i_category_id)]
| | | | | mem-estimate=11.88MB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=71 row-size=12B cardinality=17.89M cost=2975838
| | | | | in pipelines: 60(GETNEXT)
| | | | |
-| | | | F41:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | | | F42: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=33.50MB mem-reservation=5.25MB thread-reservation=1
| | | | max-parallelism=1040 segment-costs=[10321261528, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | | | 65:AGGREGATE [STREAMING]
@@ -6025,28 +6054,27 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | tuple-ids=65,67,69 row-size=32B cardinality=4.28G cost=1871878825
| | | | | in pipelines: 60(GETNEXT), 63(OPEN)
| | | | |
-| | | | |--F122:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | | |--F125:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | | | max-parallelism=10 segment-costs=[834572]
| | | | | JOIN BUILD
| | | | | | join-table-id=28 plan-id=29 cohort-id=06
| | | | | | build expressions: tpcds_partitioned_parquet_snap.item_7.i_item_sk
-| | | | | | runtime filters: RF051[min_max] <- tpcds_partitioned_parquet_snap.item_7.i_item_sk
+| | | | | | runtime filters: RF050[bloom] <- tpcds_partitioned_parquet_snap.item_7.i_item_sk, RF051[min_max] <- tpcds_partitioned_parquet_snap.item_7.i_item_sk
| | | | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | | | |
-| | | | | 176:EXCHANGE [BROADCAST]
+| | | | | 177:EXCHANGE [BROADCAST]
| | | | | | mem-estimate=5.55MB mem-reservation=0B thread-reservation=0
| | | | | | tuple-ids=69 row-size=16B cardinality=358.34K cost=476230
| | | | | | in pipelines: 63(GETNEXT)
| | | | | |
-| | | | | F43:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | | | Per-Host Shared Resources: mem-estimate=3.00MB mem-reservation=3.00MB thread-reservation=0 runtime-filters-memory=3.00MB
+| | | | | F44:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
| | | | | Per-Instance Resources: mem-estimate=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | | | max-parallelism=4 segment-costs=[146628]
| | | | | 63:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | | predicates: tpcds_partitioned_parquet_snap.item_7.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_7.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_7.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_7.i_item_sk IS NOT NULL
-| | | | | runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_brand_id, RF040[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_category_id, RF041[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_class_id, RF036[bloom] -> tpcds_partitioned_parquet_snap.item_7.i_brand_id, RF037[bloom] -> tpcds_partitioned_parquet_snap.item_7.i_category_id, RF038[bloom] -> tpcds_partitioned_parquet_snap.item_7.i_class_id
+| | | | | runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_brand_id, RF040[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_category_id, RF041[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_class_id
| | | | | stored statistics:
| | | | | table: rows=360.00K size=33.54MB
| | | | | columns: all
@@ -6064,7 +6092,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | tuple-ids=65,67 row-size=16B cardinality=4.28G(filtered from 4.30G) cost=1875853551
| | | | | in pipelines: 60(GETNEXT), 61(OPEN)
| | | | |
-| | | | |--F123:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | | |--F126:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | | | max-parallelism=10 segment-costs=[17005]
| | | | | JOIN BUILD
@@ -6072,12 +6100,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_8.d_date_sk
| | | | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | | | |
-| | | | | 175:EXCHANGE [BROADCAST]
+| | | | | 176:EXCHANGE [BROADCAST]
| | | | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | | | tuple-ids=67 row-size=8B cardinality=7.30K cost=9700
| | | | | | in pipelines: 61(GETNEXT)
| | | | | |
-| | | | | F42:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | | | F43:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | | | max-parallelism=1 segment-costs=[14888]
| | | | | 61:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -6097,7 +6125,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | partition predicates: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_sold_date_sk IS NOT NULL
| | | | HDFS partitions=1830/1831 files=1830 size=280.81GB
| | | | predicates: tpcds_partitioned_parquet_snap.catalog_sales_2.cs_item_sk IS NOT NULL
-| | | | runtime filters: RF051[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_item_sk
+| | | | runtime filters: RF051[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_item_sk, RF050[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_2.cs_item_sk
| | | | stored statistics:
| | | | table: rows=4.32G size=280.96GB
| | | | partitions: 1830/1830 rows=4.30G
@@ -6108,18 +6136,19 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=65 row-size=8B cardinality=4.28G(filtered from 4.30G) cost=615983750
| | | | in pipelines: 60(GETNEXT)
| | | |
-| | | 174:AGGREGATE [FINALIZE]
+| | | 175:AGGREGATE [FINALIZE]
| | | | group by: tpcds_partitioned_parquet_snap.item_6.i_brand_id, tpcds_partitioned_parquet_snap.item_6.i_class_id, tpcds_partitioned_parquet_snap.item_6.i_category_id
| | | | mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| | | | tuple-ids=64 row-size=12B cardinality=149.12K cost=25263984
-| | | | in pipelines: 174(GETNEXT), 54(OPEN)
+| | | | in pipelines: 175(GETNEXT), 54(OPEN)
| | | |
-| | | 173:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_6.i_brand_id,tpcds_partitioned_parquet_snap.item_6.i_class_id,tpcds_partitioned_parquet_snap.item_6.i_category_id)]
+| | | 174:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_6.i_brand_id,tpcds_partitioned_parquet_snap.item_6.i_class_id,tpcds_partitioned_parquet_snap.item_6.i_category_id)]
| | | | mem-estimate=11.88MB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=64 row-size=12B cardinality=17.89M cost=2975838
| | | | in pipelines: 54(GETNEXT)
| | | |
-| | | F37:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | | F38: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=33.50MB mem-reservation=5.50MB thread-reservation=1
| | | max-parallelism=1823 segment-costs=[19733878056, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | | 59:AGGREGATE [STREAMING]
@@ -6136,28 +6165,27 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=58,60,62 row-size=32B cardinality=8.21G cost=3592473303
| | | | in pipelines: 54(GETNEXT), 57(OPEN)
| | | |
-| | | |--F120:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | |--F123:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | | max-parallelism=10 segment-costs=[834572]
| | | | JOIN BUILD
| | | | | join-table-id=26 plan-id=27 cohort-id=06
| | | | | build expressions: tpcds_partitioned_parquet_snap.item_6.i_item_sk
-| | | | | runtime filters: RF047[min_max] <- tpcds_partitioned_parquet_snap.item_6.i_item_sk
+| | | | | runtime filters: RF046[bloom] <- tpcds_partitioned_parquet_snap.item_6.i_item_sk, RF047[min_max] <- tpcds_partitioned_parquet_snap.item_6.i_item_sk
| | | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | | |
-| | | | 172:EXCHANGE [BROADCAST]
+| | | | 173:EXCHANGE [BROADCAST]
| | | | | mem-estimate=5.55MB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=62 row-size=16B cardinality=358.34K cost=476230
| | | | | in pipelines: 57(GETNEXT)
| | | | |
-| | | | F39:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | | Per-Host Shared Resources: mem-estimate=3.00MB mem-reservation=3.00MB thread-reservation=0 runtime-filters-memory=3.00MB
+| | | | F40:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
| | | | Per-Instance Resources: mem-estimate=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=4 segment-costs=[146628]
| | | | 57:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | predicates: tpcds_partitioned_parquet_snap.item_6.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_6.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_6.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_6.i_item_sk IS NOT NULL
-| | | | runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_brand_id, RF040[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_category_id, RF041[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_class_id, RF036[bloom] -> tpcds_partitioned_parquet_snap.item_6.i_brand_id, RF037[bloom] -> tpcds_partitioned_parquet_snap.item_6.i_category_id, RF038[bloom] -> tpcds_partitioned_parquet_snap.item_6.i_class_id
+| | | | runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_brand_id, RF040[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_category_id, RF041[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_class_id
| | | | stored statistics:
| | | | table: rows=360.00K size=33.54MB
| | | | columns: all
@@ -6175,7 +6203,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | tuple-ids=58,60 row-size=16B cardinality=8.21G(filtered from 8.25G) cost=3600101519
| | | | in pipelines: 54(GETNEXT), 55(OPEN)
| | | |
-| | | |--F121:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | |--F124:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | | max-parallelism=10 segment-costs=[17005]
| | | | JOIN BUILD
@@ -6183,12 +6211,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_7.d_date_sk
| | | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | | |
-| | | | 171:EXCHANGE [BROADCAST]
+| | | | 172:EXCHANGE [BROADCAST]
| | | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | | tuple-ids=60 row-size=8B cardinality=7.30K cost=9700
| | | | | in pipelines: 55(GETNEXT)
| | | | |
-| | | | F38:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | | F39:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=1 segment-costs=[14888]
| | | | 55:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -6208,29 +6236,29 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | partition predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_sold_date_sk IS NOT NULL
| | | HDFS partitions=1823/1824 files=1823 size=389.69GB
| | | predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk IS NOT NULL
-| | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk
+| | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk, RF046[bloom] -> tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk
| | | stored statistics:
| | | table: rows=8.64G size=389.90GB
| | | partitions: 1823/1823 rows=8.25G
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk IS NOT NULL
| | | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | | tuple-ids=58 row-size=8B cardinality=8.21G(filtered from 8.25G) cost=1182183990
| | | in pipelines: 54(GETNEXT)
| | |
-| | 170:AGGREGATE [FINALIZE]
+| | 171:AGGREGATE [FINALIZE]
| | | group by: tpcds_partitioned_parquet_snap.item_8.i_brand_id, tpcds_partitioned_parquet_snap.item_8.i_class_id, tpcds_partitioned_parquet_snap.item_8.i_category_id
| | | mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| | | tuple-ids=80 row-size=12B cardinality=149.12K cost=25263984
-| | | in pipelines: 170(GETNEXT), 67(OPEN)
+| | | in pipelines: 171(GETNEXT), 67(OPEN)
| | |
-| | 169:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_8.i_brand_id,tpcds_partitioned_parquet_snap.item_8.i_class_id,tpcds_partitioned_parquet_snap.item_8.i_category_id)]
+| | 170:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_8.i_brand_id,tpcds_partitioned_parquet_snap.item_8.i_class_id,tpcds_partitioned_parquet_snap.item_8.i_category_id)]
| | | mem-estimate=11.88MB mem-reservation=0B thread-reservation=0
| | | tuple-ids=80 row-size=12B cardinality=17.89M cost=2975838
| | | in pipelines: 67(GETNEXT)
| | |
-| | F33:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| | F34:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| | Per-Instance Resources: mem-estimate=33.50MB mem-reservation=5.12MB thread-reservation=1
| | max-parallelism=530 segment-costs=[5225256796, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | 72:AGGREGATE [STREAMING]
@@ -6247,7 +6275,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=74,76,78 row-size=32B cardinality=2.15G cost=940346390
| | | in pipelines: 67(GETNEXT), 70(OPEN)
| | |
-| | |--F118:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | |--F121:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
| | | | max-parallelism=10 segment-costs=[834572]
| | | JOIN BUILD
@@ -6256,19 +6284,18 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | runtime filters: RF043[min_max] <- tpcds_partitioned_parquet_snap.item_8.i_item_sk
| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | |
-| | | 168:EXCHANGE [BROADCAST]
+| | | 169:EXCHANGE [BROADCAST]
| | | | mem-estimate=5.55MB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=78 row-size=16B cardinality=358.34K cost=476230
| | | | in pipelines: 70(GETNEXT)
| | | |
-| | | F35:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | Per-Host Shared Resources: mem-estimate=3.00MB mem-reservation=3.00MB thread-reservation=0 runtime-filters-memory=3.00MB
+| | | F36:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
| | | Per-Instance Resources: mem-estimate=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=4 segment-costs=[146628]
| | | 70:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | HDFS partitions=1/1 files=1 size=33.54MB
| | | predicates: tpcds_partitioned_parquet_snap.item_8.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_8.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_8.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_8.i_item_sk IS NOT NULL
-| | | runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_brand_id, RF040[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_category_id, RF041[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_class_id, RF036[bloom] -> tpcds_partitioned_parquet_snap.item_8.i_brand_id, RF037[bloom] -> tpcds_partitioned_parquet_snap.item_8.i_category_id, RF038[bloom] -> tpcds_partitioned_parquet_snap.item_8.i_class_id
+| | | runtime filters: RF039[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_brand_id, RF040[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_category_id, RF041[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_class_id
| | | stored statistics:
| | | table: rows=360.00K size=33.54MB
| | | columns: all
@@ -6286,7 +6313,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=74,76 row-size=16B cardinality=2.15G(filtered from 2.16G) cost=942343110
| | | in pipelines: 67(GETNEXT), 68(OPEN)
| | |
-| | |--F119:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | |--F122:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | max-parallelism=10 segment-costs=[17005]
| | | JOIN BUILD
@@ -6294,12 +6321,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_9.d_date_sk
| | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | |
-| | | 167:EXCHANGE [BROADCAST]
+| | | 168:EXCHANGE [BROADCAST]
| | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=76 row-size=8B cardinality=7.30K cost=9700
| | | | in pipelines: 68(GETNEXT)
| | | |
-| | | F34:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | F35:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=1 segment-costs=[14888]
| | | 68:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -6330,6 +6357,15 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | tuple-ids=74 row-size=8B cardinality=2.15G(filtered from 2.16G) cost=309442090
| | in pipelines: 67(GETNEXT)
| |
+| 185:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk)]
+| | mem-estimate=15.91MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=50,52,54 row-size=44B cardinality=253.42M cost=98098994
+| | in pipelines: 46(GETNEXT)
+| |
+| F31:PLAN FRAGMENT [RANDOM] hosts=10 instances=108 (adjusted from 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=31.31MB mem-reservation=256.00KB thread-reservation=1
+| max-parallelism=108 segment-costs=[1397252121]
| 50:HASH JOIN [INNER JOIN, BROADCAST]
| | hash-table-id=30
| | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk = tpcds_partitioned_parquet_snap.item_4.i_item_sk
@@ -6338,21 +6374,21 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | tuple-ids=50,52,54 row-size=44B cardinality=253.42M cost=110954562
| | in pipelines: 46(GETNEXT), 49(OPEN)
| |
-| |--F124:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=311.57MB mem-reservation=306.00MB thread-reservation=1
+| |--F127:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=379.57MB mem-reservation=374.00MB thread-reservation=1
| | | max-parallelism=10 segment-costs=[838440]
| | JOIN BUILD
| | | join-table-id=30 plan-id=31 cohort-id=01
| | | build expressions: tpcds_partitioned_parquet_snap.item_4.i_item_sk
| | | runtime filters: RF033[min_max] <- tpcds_partitioned_parquet_snap.item_4.i_item_sk
-| | | mem-estimate=306.00MB mem-reservation=306.00MB spill-buffer=2.00MB thread-reservation=0 cost=360000
+| | | mem-estimate=374.00MB mem-reservation=374.00MB spill-buffer=2.00MB thread-reservation=0 cost=360000
| | |
-| | 166:EXCHANGE [BROADCAST]
+| | 167:EXCHANGE [BROADCAST]
| | | mem-estimate=5.57MB mem-reservation=0B thread-reservation=0
| | | tuple-ids=54 row-size=16B cardinality=360.00K cost=478440
| | | in pipelines: 49(GETNEXT)
| | |
-| | F32:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
+| | F33:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
| | Per-Instance Resources: mem-estimate=16.08MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=4 segment-costs=[116388]
| | 49:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
@@ -6376,21 +6412,21 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | tuple-ids=50,52 row-size=28B cardinality=253.55M cost=110977522
| | in pipelines: 46(GETNEXT), 47(OPEN)
| |
-| |--F125:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=18.45MB mem-reservation=18.44MB thread-reservation=1 runtime-filters-memory=1.00MB
+| |--F128:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=22.33MB mem-reservation=22.31MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | max-parallelism=10 segment-costs=[248]
| | JOIN BUILD
| | | join-table-id=31 plan-id=32 cohort-id=01
| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
| | | runtime filters: RF034[bloom] <- tpcds_partitioned_parquet_snap.date_dim_6.d_date_sk
-| | | mem-estimate=17.44MB mem-reservation=17.44MB spill-buffer=64.00KB thread-reservation=0 cost=108
+| | | mem-estimate=21.31MB mem-reservation=21.31MB spill-buffer=64.00KB thread-reservation=0 cost=108
| | |
-| | 165:EXCHANGE [BROADCAST]
+| | 166:EXCHANGE [BROADCAST]
| | | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
| | | tuple-ids=52 row-size=12B cardinality=108 cost=140
| | | in pipelines: 47(GETNEXT)
| | |
-| | F31:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | F32:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | Per-Instance Resources: mem-estimate=16.06MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=1 segment-costs=[18785]
| | 47:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -6426,36 +6462,36 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| predicates: sum(multiply(tpcds_partitioned_parquet_snap.store_sales.ss_quantity, tpcds_partitioned_parquet_snap.store_sales.ss_list_price)) > CAST(avg(multiply(QUANTITY, LIST_PRICE)) AS DECIMAL(38,2))
| mem-estimate=0B mem-reservation=0B thread-reservation=0
| tuple-ids=33,49 row-size=52B cardinality=14.91K cost=3055
-| in pipelines: 158(GETNEXT), 163(OPEN)
+| in pipelines: 159(GETNEXT), 164(OPEN)
|
-|--F94:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+|--F97:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | Per-Instance Resources: mem-estimate=16.02KB mem-reservation=0B thread-reservation=1
| | max-parallelism=10 segment-costs=[0] cpu-comparison-result=120 [max(10 (self) vs 120 (sum children))]
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
| | mem-estimate=16B mem-reservation=0B thread-reservation=0 cost=0
| |
-| 164:EXCHANGE [BROADCAST]
+| 165:EXCHANGE [BROADCAST]
| | mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
| | tuple-ids=49 row-size=16B cardinality=1 cost=0
-| | in pipelines: 163(GETNEXT)
+| | in pipelines: 164(GETNEXT)
| |
-| F29:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
+| F30:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=297.44KB mem-reservation=0B thread-reservation=1
| max-parallelism=1 segment-costs=[30, 0] cpu-comparison-result=120 [max(1 (self) vs 120 (sum children))]
-| 163:AGGREGATE [FINALIZE]
+| 164:AGGREGATE [FINALIZE]
| | output: avg:merge(multiply(QUANTITY, LIST_PRICE))
| | having: avg(multiply(QUANTITY, LIST_PRICE)) IS NOT NULL
| | mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=49 row-size=16B cardinality=1 cost=8
-| | in pipelines: 163(GETNEXT), 44(OPEN)
+| | in pipelines: 164(GETNEXT), 44(OPEN)
| |
-| 162:EXCHANGE [UNPARTITIONED]
+| 163:EXCHANGE [UNPARTITIONED]
| | mem-estimate=281.44KB mem-reservation=0B thread-reservation=0
| | tuple-ids=48 row-size=16B cardinality=120 cost=22
| | in pipelines: 44(GETNEXT)
| |
-| F28:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
+| F29:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
| Per-Instance Resources: mem-estimate=16.02MB mem-reservation=512.00KB thread-reservation=1
| max-parallelism=120 segment-costs=[10759546738, 185] cpu-comparison-result=120 [max(120 (self) vs 33 (sum children))]
| 44:AGGREGATE
@@ -6478,7 +6514,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=43,45 row-size=20B cardinality=2.16G cost=945169594
| | | in pipelines: 41(GETNEXT), 42(OPEN)
| | |
-| | |--F97:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | |--F100:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | max-parallelism=10 segment-costs=[17005]
| | | JOIN BUILD
@@ -6486,12 +6522,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_5.d_date_sk
| | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | |
-| | | 161:EXCHANGE [BROADCAST]
+| | | 162:EXCHANGE [BROADCAST]
| | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=45 row-size=8B cardinality=7.30K cost=9700
| | | | in pipelines: 42(GETNEXT)
| | | |
-| | | F27:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | F28:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=1 segment-costs=[14888]
| | | 42:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -6532,7 +6568,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | tuple-ids=38,40 row-size=20B cardinality=4.30G cost=1881480025
| | | in pipelines: 38(GETNEXT), 39(OPEN)
| | |
-| | |--F96:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | |--F99:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | max-parallelism=10 segment-costs=[17005]
| | | JOIN BUILD
@@ -6540,12 +6576,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | | build expressions: tpcds_partitioned_parquet_snap.date_dim_4.d_date_sk
| | | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | | |
-| | | 160:EXCHANGE [BROADCAST]
+| | | 161:EXCHANGE [BROADCAST]
| | | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | | tuple-ids=40 row-size=8B cardinality=7.30K cost=9700
| | | | in pipelines: 39(GETNEXT)
| | | |
-| | | F24:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | | F25:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=1 segment-costs=[14888]
| | | 39:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -6581,7 +6617,7 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | tuple-ids=34,36 row-size=20B cardinality=8.25G cost=3610899739
| | in pipelines: 35(GETNEXT), 36(OPEN)
| |
-| |--F95:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| |--F98:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | max-parallelism=10 segment-costs=[17005]
| | JOIN BUILD
@@ -6589,12 +6625,12 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| | | build expressions: tpcds_partitioned_parquet_snap.date_dim_3.d_date_sk
| | | mem-estimate=23.25MB mem-reservation=23.25MB spill-buffer=64.00KB thread-reservation=0 cost=7305
| | |
-| | 159:EXCHANGE [BROADCAST]
+| | 160:EXCHANGE [BROADCAST]
| | | mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
| | | tuple-ids=36 row-size=8B cardinality=7.30K cost=9700
| | | in pipelines: 36(GETNEXT)
| | |
-| | F22:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
+| | F23:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
| | Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=1 segment-costs=[14888]
| | 36:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
@@ -6617,75 +6653,74 @@ max-parallelism=108 segment-costs=[31467972, 31467972, 31442780, 1151027, 322888
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M
+| extrapolated-rows=disabled max-scan-range-rows=12.31M
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=34 row-size=12B cardinality=8.25G cost=1425550548
| in pipelines: 35(GETNEXT)
|
-158:AGGREGATE [FINALIZE]
+159:AGGREGATE [FINALIZE]
| output: sum:merge(multiply(tpcds_partitioned_parquet_snap.store_sales.ss_quantity, tpcds_partitioned_parquet_snap.store_sales.ss_list_price)), count:merge()
| group by: tpcds_partitioned_parquet_snap.item.i_brand_id, tpcds_partitioned_parquet_snap.item.i_class_id, tpcds_partitioned_parquet_snap.item.i_category_id
| having: sum(multiply(tpcds_partitioned_parquet_snap.store_sales.ss_quantity, tpcds_partitioned_parquet_snap.store_sales.ss_list_price)) IS NOT NULL
| mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
| tuple-ids=33 row-size=36B cardinality=14.91K cost=26516592
-| in pipelines: 158(GETNEXT), 02(OPEN)
+| in pipelines: 159(GETNEXT), 02(OPEN)
|
-157:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item.i_brand_id,tpcds_partitioned_parquet_snap.item.i_class_id,tpcds_partitioned_parquet_snap.item.i_category_id)]
-| mem-estimate=14.22MB mem-reservation=0B thread-reservation=0
+158:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item.i_brand_id,tpcds_partitioned_parquet_snap.item.i_class_id,tpcds_partitioned_parquet_snap.item.i_category_id)]
+| mem-estimate=12.34MB mem-reservation=0B thread-reservation=0
| tuple-ids=33 row-size=36B cardinality=17.89M cost=4951380
| in pipelines: 02(GETNEXT)
|
-F00:PLAN FRAGMENT [RANDOM] hosts=10 instances=108 (adjusted from 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=42.88MB mem-reservation=9.50MB thread-reservation=1
-max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=399 [max(108 (self) vs 399 (sum children))]
+F20:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_sales.ss_item_sk)] hosts=10 instances=60 (adjusted from 120)
+Per-Instance Resources: mem-estimate=36.84MB mem-reservation=9.00MB thread-reservation=1
+max-parallelism=120 segment-costs=[1188373716, 50705571] cpu-comparison-result=419 [max(168 (self) vs 419 (sum children))]
32:AGGREGATE [STREAMING]
| output: sum(multiply(CAST(tpcds_partitioned_parquet_snap.store_sales.ss_quantity AS DECIMAL(10,0)), tpcds_partitioned_parquet_snap.store_sales.ss_list_price)), count()
| group by: tpcds_partitioned_parquet_snap.item.i_brand_id, tpcds_partitioned_parquet_snap.item.i_class_id, tpcds_partitioned_parquet_snap.item.i_category_id
| mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| tuple-ids=33 row-size=36B cardinality=17.89M cost=782483791
+| tuple-ids=33 row-size=36B cardinality=17.89M cost=785729300
| in pipelines: 02(GETNEXT)
|
-31:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
+31:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
| hash-table-id=12
| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item_0.i_item_sk
| mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=0,2,4 row-size=44B cardinality=485.73M cost=213244981
+| tuple-ids=0,2,4 row-size=44B cardinality=487.98M cost=213652215
| in pipelines: 02(GETNEXT), 154(OPEN)
|
-|--F106:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=384.43MB mem-reservation=374.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[834572] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+|--F109:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.store_sales.ss_item_sk)] hosts=10 instances=60 (adjusted from 120)
+| | Per-Instance Resources: mem-estimate=84.19MB mem-reservation=34.00MB thread-reservation=1
+| | max-parallelism=120 segment-costs=[75309154] cpu-comparison-result=394 [max(60 (self) vs 394 (sum children))]
| JOIN BUILD
| | join-table-id=12 plan-id=13 cohort-id=01
| | build expressions: tpcds_partitioned_parquet_snap.item_0.i_item_sk
| | runtime filters: RF001[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_item_sk
-| | mem-estimate=374.00MB mem-reservation=374.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
+| | mem-estimate=72.90MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0 cost=57334720
| |
-| 156:EXCHANGE [BROADCAST]
-| | mem-estimate=10.43MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=32,6 row-size=36B cardinality=358.34K cost=476230
+| 157:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_0.i_item_sk)]
+| | mem-estimate=11.29MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=32,6 row-size=36B cardinality=57.33M cost=17974434
| | in pipelines: 154(GETNEXT)
| |
-| F18:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| Per-Instance Resources: mem-estimate=131.67MB mem-reservation=34.00MB thread-reservation=1
-| max-parallelism=10 segment-costs=[2731445, 229990] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| F18:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=30 (adjusted from 120)
+| Per-Instance Resources: mem-estimate=20.31MB mem-reservation=1.94MB thread-reservation=1
+| max-parallelism=30 segment-costs=[1820963, 202468059] cpu-comparison-result=394 [max(30 (self) vs 394 (sum children))]
| 30:HASH JOIN [INNER JOIN, PARTITIONED]
| | hash-table-id=13
| | hash predicates: BRAND_ID = tpcds_partitioned_parquet_snap.item_0.i_brand_id, CATEGORY_ID = tpcds_partitioned_parquet_snap.item_0.i_category_id, CLASS_ID = tpcds_partitioned_parquet_snap.item_0.i_class_id
| | fk/pk conjuncts: assumed fk/pk
-| | mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-| | tuple-ids=32,6 row-size=36B cardinality=358.34K cost=179679
+| | mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
+| | tuple-ids=32,6 row-size=36B cardinality=57.33M cost=10465549
| | in pipelines: 154(GETNEXT), 07(OPEN)
| |
-| |--F107:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| | | Per-Instance Resources: mem-estimate=9.20MB mem-reservation=7.75MB thread-reservation=1 runtime-filters-memory=3.00MB
-| | | max-parallelism=10 segment-costs=[424527]
+| |--F110:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=30 (adjusted from 120)
+| | | Per-Instance Resources: mem-estimate=3.38MB mem-reservation=1.94MB thread-reservation=1
+| | | max-parallelism=30 segment-costs=[424527]
| | JOIN BUILD
| | | join-table-id=13 plan-id=14 cohort-id=05
| | | build expressions: tpcds_partitioned_parquet_snap.item_0.i_brand_id, tpcds_partitioned_parquet_snap.item_0.i_category_id, tpcds_partitioned_parquet_snap.item_0.i_class_id
-| | | runtime filters: RF006[bloom] <- tpcds_partitioned_parquet_snap.item_0.i_brand_id, RF007[bloom] <- tpcds_partitioned_parquet_snap.item_0.i_category_id, RF008[bloom] <- tpcds_partitioned_parquet_snap.item_0.i_class_id, RF009[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_brand_id, RF010[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_category_id, RF011[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_class_id
-| | | mem-estimate=4.75MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0 cost=358342
+| | | runtime filters: RF009[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_brand_id, RF010[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_category_id, RF011[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_class_id
+| | | mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=358342
| | |
| | 155:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_0.i_brand_id,tpcds_partitioned_parquet_snap.item_0.i_class_id,tpcds_partitioned_parquet_snap.item_0.i_category_id)]
| | | mem-estimate=1.45MB mem-reservation=0B thread-reservation=0
@@ -6693,7 +6728,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | in pipelines: 07(GETNEXT)
| | |
| | F19:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | Per-Instance Resources: mem-estimate=16.78MB mem-reservation=512.00KB thread-reservation=1
+| | Per-Instance Resources: mem-estimate=18.34MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=4 segment-costs=[667145]
| | 07:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | HDFS partitions=1/1 files=1 size=33.54MB
@@ -6711,52 +6746,52 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | output: count:merge()
| | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | having: count() = CAST(2 AS BIGINT)
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=32 row-size=20B cardinality=447.36K cost=2640587
+| | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | tuple-ids=32 row-size=20B cardinality=298.24K cost=1760391
| | in pipelines: 154(GETNEXT), 142(OPEN), 152(OPEN)
| |
| 153:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
-| | mem-estimate=3.67MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=32 row-size=20B cardinality=447.36K cost=90858
+| | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=32 row-size=20B cardinality=298.24K cost=60572
| | in pipelines: 142(GETNEXT), 152(GETNEXT)
| |
| F17:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| Per-Instance Resources: mem-estimate=260.32MB mem-reservation=68.00MB thread-reservation=1
-| max-parallelism=120 segment-costs=[28239822, 1820963, 2659596, 806679] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+| Per-Instance Resources: mem-estimate=34.69MB mem-reservation=6.75MB thread-reservation=1
+| max-parallelism=120 segment-costs=[28239822, 1142014, 1769895, 537786] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
| 29:AGGREGATE [STREAMING]
| | output: count()
| | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=32 row-size=20B cardinality=447.36K cost=2640587
+| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | tuple-ids=32 row-size=20B cardinality=298.24K cost=1760391
| | in pipelines: 142(GETNEXT), 152(GETNEXT)
| |
| 08:UNION
| | pass-through-operands: 142
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=31 row-size=12B cardinality=447.36K cost=19009
+| | tuple-ids=31 row-size=12B cardinality=298.24K cost=9504
| | in pipelines: 142(GETNEXT), 152(GETNEXT)
| |
| |--152:AGGREGATE [FINALIZE]
| | | output: count:merge()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | having: count() = CAST(2 AS BIGINT)
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=23 row-size=20B cardinality=298.24K cost=1760391
+| | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=23 row-size=20B cardinality=149.12K cost=1081913
| | | in pipelines: 152(GETNEXT), 146(OPEN), 150(OPEN)
| | |
| | 151:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
| | | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=23 row-size=20B cardinality=298.24K cost=60572
+| | | tuple-ids=23 row-size=20B cardinality=295.92K cost=60101
| | | in pipelines: 146(GETNEXT), 150(GETNEXT)
| | |
| | F15:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| | Per-Instance Resources: mem-estimate=161.12MB mem-reservation=38.75MB thread-reservation=1
-| | max-parallelism=120 segment-costs=[28239822, 28239822, 1760391, 537786] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
+| | Per-Instance Resources: mem-estimate=43.12MB mem-reservation=6.75MB thread-reservation=1
+| | max-parallelism=120 segment-costs=[28239822, 28239822, 1749885, 533602] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
| | 22:AGGREGATE [STREAMING]
| | | output: count()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=23 row-size=20B cardinality=298.24K cost=1760391
+| | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=23 row-size=20B cardinality=295.92K cost=1749885
| | | in pipelines: 146(GETNEXT), 150(GETNEXT)
| | |
| | 09:UNION
@@ -6777,6 +6812,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | | in pipelines: 16(GETNEXT)
| | | |
| | | F11: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=33.50MB mem-reservation=5.25MB thread-reservation=1
| | | max-parallelism=1040 segment-costs=[10321261528, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | | 21:AGGREGATE [STREAMING]
@@ -6793,13 +6829,13 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | | tuple-ids=15,17,19 row-size=32B cardinality=4.28G cost=1871878825
| | | | in pipelines: 16(GETNEXT), 19(OPEN)
| | | |
-| | | |--F112:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | |--F115:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | | max-parallelism=10 segment-costs=[834572]
| | | | JOIN BUILD
| | | | | join-table-id=18 plan-id=19 cohort-id=05
| | | | | build expressions: tpcds_partitioned_parquet_snap.item_2.i_item_sk
-| | | | | runtime filters: RF021[min_max] <- tpcds_partitioned_parquet_snap.item_2.i_item_sk
+| | | | | runtime filters: RF020[bloom] <- tpcds_partitioned_parquet_snap.item_2.i_item_sk, RF021[min_max] <- tpcds_partitioned_parquet_snap.item_2.i_item_sk
| | | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | | |
| | | | 148:EXCHANGE [BROADCAST]
@@ -6808,13 +6844,12 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | | | in pipelines: 19(GETNEXT)
| | | | |
| | | | F13:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | | 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=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=4 segment-costs=[146628]
| | | | 19:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | predicates: tpcds_partitioned_parquet_snap.item_2.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_2.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_2.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_2.i_item_sk IS NOT NULL
-| | | | runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_brand_id, RF010[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_category_id, RF011[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_class_id, RF006[bloom] -> tpcds_partitioned_parquet_snap.item_2.i_brand_id, RF007[bloom] -> tpcds_partitioned_parquet_snap.item_2.i_category_id, RF008[bloom] -> tpcds_partitioned_parquet_snap.item_2.i_class_id
+| | | | runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_brand_id, RF010[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_category_id, RF011[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_class_id
| | | | stored statistics:
| | | | table: rows=360.00K size=33.54MB
| | | | columns: all
@@ -6832,7 +6867,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | | tuple-ids=15,17 row-size=16B cardinality=4.28G(filtered from 4.30G) cost=1875853551
| | | | in pipelines: 16(GETNEXT), 17(OPEN)
| | | |
-| | | |--F113:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | |--F116:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | | max-parallelism=10 segment-costs=[17005]
| | | | JOIN BUILD
@@ -6865,7 +6900,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | partition predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_sold_date_sk IS NOT NULL
| | | HDFS partitions=1830/1831 files=1830 size=280.81GB
| | | predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk IS NOT NULL
-| | | runtime filters: RF021[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk
+| | | runtime filters: RF021[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk, RF020[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk
| | | stored statistics:
| | | table: rows=4.32G size=280.96GB
| | | partitions: 1830/1830 rows=4.30G
@@ -6888,6 +6923,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | in pipelines: 10(GETNEXT)
| | |
| | F07: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=33.50MB mem-reservation=5.50MB thread-reservation=1
| | max-parallelism=1823 segment-costs=[19733878056, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | 15:AGGREGATE [STREAMING]
@@ -6904,13 +6940,13 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | tuple-ids=8,10,12 row-size=32B cardinality=8.21G cost=3592473303
| | | in pipelines: 10(GETNEXT), 13(OPEN)
| | |
-| | |--F110:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | |--F113:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | max-parallelism=10 segment-costs=[834572]
| | | JOIN BUILD
| | | | join-table-id=16 plan-id=17 cohort-id=05
| | | | build expressions: tpcds_partitioned_parquet_snap.item_1.i_item_sk
-| | | | runtime filters: RF017[min_max] <- tpcds_partitioned_parquet_snap.item_1.i_item_sk
+| | | | runtime filters: RF016[bloom] <- tpcds_partitioned_parquet_snap.item_1.i_item_sk, RF017[min_max] <- tpcds_partitioned_parquet_snap.item_1.i_item_sk
| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | |
| | | 144:EXCHANGE [BROADCAST]
@@ -6919,13 +6955,12 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | | in pipelines: 13(GETNEXT)
| | | |
| | | F09:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | 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=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=4 segment-costs=[146628]
| | | 13:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | HDFS partitions=1/1 files=1 size=33.54MB
| | | predicates: tpcds_partitioned_parquet_snap.item_1.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_1.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_1.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_1.i_item_sk IS NOT NULL
-| | | runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_brand_id, RF010[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_category_id, RF011[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_class_id, RF006[bloom] -> tpcds_partitioned_parquet_snap.item_1.i_brand_id, RF007[bloom] -> tpcds_partitioned_parquet_snap.item_1.i_category_id, RF008[bloom] -> tpcds_partitioned_parquet_snap.item_1.i_class_id
+| | | runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_brand_id, RF010[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_category_id, RF011[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_class_id
| | | stored statistics:
| | | table: rows=360.00K size=33.54MB
| | | columns: all
@@ -6943,7 +6978,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | tuple-ids=8,10 row-size=16B cardinality=8.21G(filtered from 8.25G) cost=3600101519
| | | in pipelines: 10(GETNEXT), 11(OPEN)
| | |
-| | |--F111:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | |--F114:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | | max-parallelism=10 segment-costs=[17005]
| | | JOIN BUILD
@@ -6976,12 +7011,12 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | partition predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_sold_date_sk IS NOT NULL
| | HDFS partitions=1823/1824 files=1823 size=389.69GB
| | predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk IS NOT NULL
-| | runtime filters: RF017[min_max] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk
+| | runtime filters: RF017[min_max] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk, RF016[bloom] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk
| | stored statistics:
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=8 row-size=8B cardinality=8.21G(filtered from 8.25G) cost=1182183990
@@ -6999,6 +7034,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | in pipelines: 23(GETNEXT)
| |
| F03: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=33.50MB mem-reservation=5.12MB thread-reservation=1
| max-parallelism=530 segment-costs=[5225256796, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| 28:AGGREGATE [STREAMING]
@@ -7015,13 +7051,13 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | tuple-ids=24,26,28 row-size=32B cardinality=2.15G cost=940346390
| | in pipelines: 23(GETNEXT), 26(OPEN)
| |
-| |--F108:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| |--F111:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | max-parallelism=10 segment-costs=[834572]
| | JOIN BUILD
| | | join-table-id=14 plan-id=15 cohort-id=05
| | | build expressions: tpcds_partitioned_parquet_snap.item_3.i_item_sk
-| | | runtime filters: RF013[min_max] <- tpcds_partitioned_parquet_snap.item_3.i_item_sk
+| | | runtime filters: RF012[bloom] <- tpcds_partitioned_parquet_snap.item_3.i_item_sk, RF013[min_max] <- tpcds_partitioned_parquet_snap.item_3.i_item_sk
| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | |
| | 140:EXCHANGE [BROADCAST]
@@ -7030,13 +7066,12 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | | in pipelines: 26(GETNEXT)
| | |
| | F05:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | 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=16.08MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=4 segment-costs=[146628]
| | 26:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | HDFS partitions=1/1 files=1 size=33.54MB
| | predicates: tpcds_partitioned_parquet_snap.item_3.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_3.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_3.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_3.i_item_sk IS NOT NULL
-| | runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_brand_id, RF010[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_category_id, RF011[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_class_id, RF006[bloom] -> tpcds_partitioned_parquet_snap.item_3.i_brand_id, RF007[bloom] -> tpcds_partitioned_parquet_snap.item_3.i_category_id, RF008[bloom] -> tpcds_partitioned_parquet_snap.item_3.i_class_id
+| | runtime filters: RF009[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_brand_id, RF010[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_category_id, RF011[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_class_id
| | stored statistics:
| | table: rows=360.00K size=33.54MB
| | columns: all
@@ -7054,7 +7089,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| | tuple-ids=24,26 row-size=16B cardinality=2.15G(filtered from 2.16G) cost=942343110
| | in pipelines: 23(GETNEXT), 24(OPEN)
| |
-| |--F109:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+| |--F112:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | Per-Instance Resources: mem-estimate=23.32MB mem-reservation=23.25MB thread-reservation=1
| | | max-parallelism=10 segment-costs=[17005]
| | JOIN BUILD
@@ -7087,7 +7122,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| partition predicates: tpcds_partitioned_parquet_snap.web_sales.ws_sold_date_sk IS NOT NULL
| HDFS partitions=1823/1824 files=1823 size=145.67GB
| predicates: tpcds_partitioned_parquet_snap.web_sales.ws_item_sk IS NOT NULL
-| runtime filters: RF013[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk
+| runtime filters: RF013[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk, RF012[bloom] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk
| stored statistics:
| table: rows=2.16G size=145.75GB
| partitions: 1823/1823 rows=2.16G
@@ -7098,6 +7133,15 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| tuple-ids=24 row-size=8B cardinality=2.15G(filtered from 2.16G) cost=309442090
| in pipelines: 23(GETNEXT)
|
+156:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.store_sales.ss_item_sk)]
+| mem-estimate=15.91MB mem-reservation=0B thread-reservation=0
+| tuple-ids=0,2,4 row-size=44B cardinality=488.23M cost=188992201
+| in pipelines: 02(GETNEXT)
+|
+F00:PLAN FRAGMENT [RANDOM] hosts=10 instances=108 (adjusted from 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=29.12MB mem-reservation=512.00KB thread-reservation=1
+max-parallelism=108 segment-costs=[2691870145]
06:HASH JOIN [INNER JOIN, BROADCAST]
| hash-table-id=20
| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
@@ -7106,7 +7150,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| tuple-ids=0,2,4 row-size=44B cardinality=488.23M cost=213759041
| in pipelines: 02(GETNEXT), 05(OPEN)
|
-|--F114:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+|--F117:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | Per-Instance Resources: mem-estimate=379.57MB mem-reservation=374.00MB thread-reservation=1
| | max-parallelism=10 segment-costs=[838440]
| JOIN BUILD
@@ -7144,7 +7188,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
| tuple-ids=0,2 row-size=28B cardinality=488.47M cost=213803274
| in pipelines: 02(GETNEXT), 03(OPEN)
|
-|--F115:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
+|--F118:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | Per-Instance Resources: mem-estimate=22.33MB mem-reservation=22.31MB thread-reservation=1 runtime-filters-memory=1.00MB
| | max-parallelism=10 segment-costs=[248]
| JOIN BUILD
@@ -7183,7 +7227,7 @@ max-parallelism=108 segment-costs=[1549560555, 50705571] cpu-comparison-result=3
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=108(filtered from 1823)
+ extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=108(filtered from 1823)
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=0 row-size=16B cardinality=488.47M(filtered from 8.25G) cost=126269468
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q14b.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q14b.test
index 810abb364..8b10c3b08 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q14b.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q14b.test
@@ -108,8 +108,8 @@ with cross_items as
# end query 14 in stream 0 using template query14.tpl
---- PLAN
-Max Per-Host Resource Reservation: Memory=382.00MB Threads=1
-Per-Host Resource Estimates: Memory=1.03GB
+Max Per-Host Resource Reservation: Memory=297.00MB Threads=1
+Per-Host Resource Estimates: Memory=596MB
ImpalaSortRel(sort0=[$1], sort1=[$2], sort2=[$3], dir0=[ASC], dir1=[ASC], dir2=[ASC], fetch=[100:TINYINT])
ImpalaProjectRel(CHANNEL=[CAST(_UTF-8'store':VARCHAR(2147483647) CHARACTER SET "UTF-8"):VARCHAR(2147483647) CHARACTER SET "UTF-8"], I_BRAND_ID=[$0], I_CLASS_ID=[$1], I_CATEGORY_ID=[$2], SALES=[$3], NUMBER_SALES=[$4], CHANNEL0=[CAST(_UTF-8'store':VARCHAR(2147483647) CHARACTER SET "UTF-8"):VARCHAR(2147483647) CHARACTER SET "UTF-8"], I_BRAND_ID0=[$6], I_CLASS_ID0=[$7], I_CATEGORY_ID0=[$8], SALES0=[$9], NUMBER_SALES0=[$10])
ImpalaJoinRel(condition=[AND(=($0, $6), =($1, $7), =($2, $8))], joinType=[inner])
@@ -336,8 +336,8 @@ ImpalaSortRel(sort0=[$1], sort1=[$2], sort2=[$3], dir0=[ASC], dir1=[ASC], dir2=[
ImpalaFilterRel(condition=[AND(SEARCH($6, Sarg[[1998..2000]]), IS NOT NULL($0))])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, date_dim]])
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=1.03GB mem-reservation=382.00MB thread-reservation=1 runtime-filters-memory=10.00MB
-| max-parallelism=1 segment-costs=[5145400923, 19654022184, 10241405655, 1760391, 2659596, 1700513, 22988, 1578072171, 10759612372, 5145400923, 19654022184, 10241405655, 1760391, 2659596, 1700513, 22988, 1578072171, 10759612372, 73999465, 1200]
+| Per-Instance Resources: mem-estimate=595.78MB mem-reservation=297.00MB thread-reservation=1 runtime-filters-memory=10.00MB
+| max-parallelism=1 segment-costs=[5145400923, 19654022184, 10241405655, 1085101, 1769895, 28656296, 22988, 1585330419, 10759612372, 5145400923, 19654022184, 10241405655, 1085101, 1769895, 28656296, 22988, 1585330419, 10759612372, 73999465, 1200]
PLAN-ROOT SINK
| output exprs: 'store', tpcds_partitioned_parquet_snap.item.i_brand_id, tpcds_partitioned_parquet_snap.item.i_class_id, tpcds_partitioned_parquet_snap.item.i_category_id, sum(multiply(tpcds_partitioned_parquet_snap.store_sales.ss_quantity, tpcds_partitioned_parquet_snap.store_sales.ss_list_price)), count(), 'store', tpcds_partitioned_parquet_snap.item_4.i_brand_id, tpcds_partitioned_parquet_snap.item_4.i_class_id, tpcds_partitioned_parquet_snap.item_4.i_category_id, sum(multiply(tpcds_ [...]
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=1200
@@ -471,7 +471,7 @@ PLAN-ROOT SINK
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=90 row-size=12B cardinality=8.25G cost=1425550548
| | in pipelines: 85(GETNEXT)
@@ -481,7 +481,7 @@ PLAN-ROOT SINK
| | group by: tpcds_partitioned_parquet_snap.item_4.i_brand_id, tpcds_partitioned_parquet_snap.item_4.i_class_id, tpcds_partitioned_parquet_snap.item_4.i_category_id
| | having: sum(multiply(tpcds_partitioned_parquet_snap.store_sales_2.ss_quantity, tpcds_partitioned_parquet_snap.store_sales_2.ss_list_price)) IS NOT NULL
| | mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
-| | tuple-ids=89 row-size=36B cardinality=14.91K cost=46162309
+| | tuple-ids=89 row-size=36B cardinality=14.91K cost=46372771
| | in pipelines: 82(GETNEXT), 49(OPEN)
| |
| 81:HASH JOIN [INNER JOIN]
@@ -489,7 +489,7 @@ PLAN-ROOT SINK
| | fk/pk conjuncts: none
| | runtime filters: RF039[min_max] <- tpcds_partitioned_parquet_snap.item_4.i_item_sk
| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=55,84,85,87,53 row-size=60B cardinality=31.50M cost=14145246
+| | tuple-ids=55,84,85,87,53 row-size=60B cardinality=31.64M cost=14209036
| | in pipelines: 49(GETNEXT), 48(OPEN)
| |
| |--48:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
@@ -509,7 +509,7 @@ PLAN-ROOT SINK
| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_2.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
| | runtime filters: RF040[bloom] <- tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
| | mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=55,84,85,87 row-size=44B cardinality=31.50M cost=13786911
+| | tuple-ids=55,84,85,87 row-size=44B cardinality=31.64M cost=13850701
| | in pipelines: 49(GETNEXT), 76(OPEN)
| |
| |--79:HASH JOIN [INNER JOIN]
@@ -558,21 +558,21 @@ PLAN-ROOT SINK
| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk = tpcds_partitioned_parquet_snap.item_5.i_item_sk
| | runtime filters: RF043[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_item_sk
| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
-| | tuple-ids=55,84 row-size=20B cardinality=31.50M(filtered from 8.21G) cost=1495657641
+| | tuple-ids=55,84 row-size=20B cardinality=31.64M(filtered from 8.25G) cost=1502577847
| | in pipelines: 49(GETNEXT), 74(OPEN)
| |
| |--74:AGGREGATE [FINALIZE]
| | | group by: tpcds_partitioned_parquet_snap.item_5.i_item_sk
| | | mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
-| | | tuple-ids=84 row-size=4B cardinality=358.34K cost=1039084
+| | | tuple-ids=84 row-size=4B cardinality=360.00K cost=17708997
| | | in pipelines: 74(GETNEXT), 72(OPEN)
| | |
| | 73:HASH JOIN [INNER JOIN]
| | | hash predicates: BRAND_ID = tpcds_partitioned_parquet_snap.item_5.i_brand_id, CATEGORY_ID = tpcds_partitioned_parquet_snap.item_5.i_category_id, CLASS_ID = tpcds_partitioned_parquet_snap.item_5.i_class_id
| | | fk/pk conjuncts: assumed fk/pk
-| | | runtime filters: RF044[bloom] <- tpcds_partitioned_parquet_snap.item_5.i_brand_id, RF045[bloom] <- tpcds_partitioned_parquet_snap.item_5.i_category_id, RF046[bloom] <- tpcds_partitioned_parquet_snap.item_5.i_class_id, RF047[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_brand_id, RF048[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_category_id, RF049[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_class_id
+| | | runtime filters: RF047[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_brand_id, RF048[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_category_id, RF049[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_class_id
| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=83,57 row-size=36B cardinality=358.34K cost=538021
+| | | tuple-ids=83,57 row-size=36B cardinality=57.33M cost=10823891
| | | in pipelines: 72(GETNEXT), 50(OPEN)
| | |
| | |--50:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
@@ -592,22 +592,22 @@ PLAN-ROOT SINK
| | | output: count()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | having: count() = CAST(2 AS BIGINT)
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=83 row-size=20B cardinality=447.36K cost=2640587
+| | | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
+| | | tuple-ids=83 row-size=20B cardinality=298.24K cost=1760391
| | | in pipelines: 72(GETNEXT), 71(OPEN), 65(OPEN)
| | |
| | 51:UNION
| | | pass-through-operands: 71
| | | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | | tuple-ids=82 row-size=12B cardinality=447.36K cost=19009
+| | | tuple-ids=82 row-size=12B cardinality=298.24K cost=9504
| | | in pipelines: 71(GETNEXT), 65(GETNEXT)
| | |
| | |--65:AGGREGATE [FINALIZE]
| | | | output: count()
| | | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | | having: count() = CAST(2 AS BIGINT)
-| | | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | | tuple-ids=74 row-size=20B cardinality=298.24K cost=1760391
+| | | | mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
+| | | | tuple-ids=74 row-size=20B cardinality=149.12K cost=1085101
| | | | in pipelines: 65(GETNEXT), 58(OPEN), 64(OPEN)
| | | |
| | | 52:UNION
@@ -625,7 +625,7 @@ PLAN-ROOT SINK
| | | | 63:HASH JOIN [INNER JOIN]
| | | | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk = tpcds_partitioned_parquet_snap.item_7.i_item_sk
| | | | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk = tpcds_partitioned_parquet_snap.item_7.i_item_sk
-| | | | | runtime filters: RF059[min_max] <- tpcds_partitioned_parquet_snap.item_7.i_item_sk
+| | | | | runtime filters: RF058[bloom] <- tpcds_partitioned_parquet_snap.item_7.i_item_sk, RF059[min_max] <- tpcds_partitioned_parquet_snap.item_7.i_item_sk
| | | | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | | | | tuple-ids=66,68,70 row-size=32B cardinality=4.28G cost=1872237167
| | | | | in pipelines: 59(GETNEXT), 62(OPEN)
@@ -633,7 +633,7 @@ PLAN-ROOT SINK
| | | | |--62:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
| | | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | | predicates: tpcds_partitioned_parquet_snap.item_7.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_7.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_7.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_7.i_item_sk IS NOT NULL
-| | | | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_brand_id, RF048[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_category_id, RF049[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_class_id, RF044[bloom] -> tpcds_partitioned_parquet_snap.item_7.i_brand_id, RF045[bloom] -> tpcds_partitioned_parquet_snap.item_7.i_category_id, RF046[bloom] -> tpcds_partitioned_parquet_snap.item_7.i_class_id
+| | | | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_brand_id, RF048[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_category_id, RF049[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_class_id
| | | | | stored statistics:
| | | | | table: rows=360.00K size=33.54MB
| | | | | columns: all
@@ -667,7 +667,7 @@ PLAN-ROOT SINK
| | | | partition predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_sold_date_sk IS NOT NULL
| | | | HDFS partitions=1830/1831 files=1830 size=280.81GB
| | | | predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk IS NOT NULL
-| | | | runtime filters: RF059[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk
+| | | | runtime filters: RF059[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk, RF058[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk
| | | | stored statistics:
| | | | table: rows=4.32G size=280.96GB
| | | | partitions: 1830/1830 rows=4.30G
@@ -687,7 +687,7 @@ PLAN-ROOT SINK
| | | 57:HASH JOIN [INNER JOIN]
| | | | hash predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_item_sk = tpcds_partitioned_parquet_snap.item_6.i_item_sk
| | | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_3.ss_item_sk = tpcds_partitioned_parquet_snap.item_6.i_item_sk
-| | | | runtime filters: RF055[min_max] <- tpcds_partitioned_parquet_snap.item_6.i_item_sk
+| | | | runtime filters: RF054[bloom] <- tpcds_partitioned_parquet_snap.item_6.i_item_sk, RF055[min_max] <- tpcds_partitioned_parquet_snap.item_6.i_item_sk
| | | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | | | tuple-ids=59,61,63 row-size=32B cardinality=8.21G cost=3592831645
| | | | in pipelines: 53(GETNEXT), 56(OPEN)
@@ -695,7 +695,7 @@ PLAN-ROOT SINK
| | | |--56:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
| | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | predicates: tpcds_partitioned_parquet_snap.item_6.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_6.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_6.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_6.i_item_sk IS NOT NULL
-| | | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_brand_id, RF048[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_category_id, RF049[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_class_id, RF044[bloom] -> tpcds_partitioned_parquet_snap.item_6.i_brand_id, RF045[bloom] -> tpcds_partitioned_parquet_snap.item_6.i_category_id, RF046[bloom] -> tpcds_partitioned_parquet_snap.item_6.i_class_id
+| | | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_brand_id, RF048[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_category_id, RF049[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_class_id
| | | | stored statistics:
| | | | table: rows=360.00K size=33.54MB
| | | | columns: all
@@ -729,12 +729,12 @@ PLAN-ROOT SINK
| | | partition predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_sold_date_sk IS NOT NULL
| | | HDFS partitions=1823/1824 files=1823 size=389.69GB
| | | predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_item_sk IS NOT NULL
-| | | runtime filters: RF055[min_max] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_item_sk
+| | | runtime filters: RF055[min_max] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_item_sk, RF054[bloom] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_item_sk
| | | stored statistics:
| | | table: rows=8.64G size=389.90GB
| | | partitions: 1823/1823 rows=8.25G
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_item_sk IS NOT NULL
| | | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | | tuple-ids=59 row-size=8B cardinality=8.21G(filtered from 8.25G) cost=1182183990
@@ -749,7 +749,7 @@ PLAN-ROOT SINK
| | 70:HASH JOIN [INNER JOIN]
| | | hash predicates: tpcds_partitioned_parquet_snap.web_sales_1.ws_item_sk = tpcds_partitioned_parquet_snap.item_8.i_item_sk
| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales_1.ws_item_sk = tpcds_partitioned_parquet_snap.item_8.i_item_sk
-| | | runtime filters: RF051[min_max] <- tpcds_partitioned_parquet_snap.item_8.i_item_sk
+| | | runtime filters: RF050[bloom] <- tpcds_partitioned_parquet_snap.item_8.i_item_sk, RF051[min_max] <- tpcds_partitioned_parquet_snap.item_8.i_item_sk
| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=75,77,79 row-size=32B cardinality=2.15G cost=940704732
| | | in pipelines: 66(GETNEXT), 69(OPEN)
@@ -757,7 +757,7 @@ PLAN-ROOT SINK
| | |--69:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
| | | HDFS partitions=1/1 files=1 size=33.54MB
| | | predicates: tpcds_partitioned_parquet_snap.item_8.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_8.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_8.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_8.i_item_sk IS NOT NULL
-| | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_brand_id, RF048[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_category_id, RF049[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_class_id, RF044[bloom] -> tpcds_partitioned_parquet_snap.item_8.i_brand_id, RF045[bloom] -> tpcds_partitioned_parquet_snap.item_8.i_category_id, RF046[bloom] -> tpcds_partitioned_parquet_snap.item_8.i_class_id
+| | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_brand_id, RF048[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_category_id, RF049[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_class_id
| | | stored statistics:
| | | table: rows=360.00K size=33.54MB
| | | columns: all
@@ -791,7 +791,7 @@ PLAN-ROOT SINK
| | partition predicates: tpcds_partitioned_parquet_snap.web_sales_1.ws_sold_date_sk IS NOT NULL
| | HDFS partitions=1823/1824 files=1823 size=145.67GB
| | predicates: tpcds_partitioned_parquet_snap.web_sales_1.ws_item_sk IS NOT NULL
-| | runtime filters: RF051[min_max] -> tpcds_partitioned_parquet_snap.web_sales_1.ws_item_sk
+| | runtime filters: RF051[min_max] -> tpcds_partitioned_parquet_snap.web_sales_1.ws_item_sk, RF050[bloom] -> tpcds_partitioned_parquet_snap.web_sales_1.ws_item_sk
| | stored statistics:
| | table: rows=2.16G size=145.75GB
| | partitions: 1823/1823 rows=2.16G
@@ -811,10 +811,10 @@ PLAN-ROOT SINK
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=7(filtered from 1823)
+| extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=7(filtered from 1823)
| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk IS NOT NULL
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-| tuple-ids=55 row-size=16B cardinality=31.50M(filtered from 8.25G) cost=8184132
+| tuple-ids=55 row-size=16B cardinality=31.64M(filtered from 8.25G) cost=8184132
| in pipelines: 49(GETNEXT)
|
47:NESTED LOOP JOIN [INNER JOIN]
@@ -932,7 +932,7 @@ PLAN-ROOT SINK
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M
+| extrapolated-rows=disabled max-scan-range-rows=12.31M
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=37 row-size=12B cardinality=8.25G cost=1425550548
| in pipelines: 37(GETNEXT)
@@ -942,7 +942,7 @@ PLAN-ROOT SINK
| group by: tpcds_partitioned_parquet_snap.item.i_brand_id, tpcds_partitioned_parquet_snap.item.i_class_id, tpcds_partitioned_parquet_snap.item.i_category_id
| having: sum(multiply(tpcds_partitioned_parquet_snap.store_sales.ss_quantity, tpcds_partitioned_parquet_snap.store_sales.ss_list_price)) IS NOT NULL
| mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
-| tuple-ids=36 row-size=36B cardinality=14.91K cost=46162309
+| tuple-ids=36 row-size=36B cardinality=14.91K cost=46372771
| in pipelines: 34(GETNEXT), 01(OPEN)
|
33:HASH JOIN [INNER JOIN]
@@ -950,7 +950,7 @@ PLAN-ROOT SINK
| fk/pk conjuncts: none
| runtime filters: RF007[min_max] <- tpcds_partitioned_parquet_snap.item.i_item_sk
| mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=2,31,32,34,0 row-size=60B cardinality=31.50M cost=14145246
+| tuple-ids=2,31,32,34,0 row-size=60B cardinality=31.64M cost=14209036
| in pipelines: 01(GETNEXT), 00(OPEN)
|
|--00:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
@@ -971,7 +971,7 @@ PLAN-ROOT SINK
| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
| runtime filters: RF008[bloom] <- tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
| mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=2,31,32,34 row-size=44B cardinality=31.50M cost=13786911
+| tuple-ids=2,31,32,34 row-size=44B cardinality=31.64M cost=13850701
| in pipelines: 01(GETNEXT), 28(OPEN)
|
|--31:HASH JOIN [INNER JOIN]
@@ -1020,21 +1020,21 @@ PLAN-ROOT SINK
| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item_0.i_item_sk
| runtime filters: RF011[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_item_sk
| mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
-| tuple-ids=2,31 row-size=20B cardinality=31.50M(filtered from 8.21G) cost=1495657641
+| tuple-ids=2,31 row-size=20B cardinality=31.64M(filtered from 8.25G) cost=1502577847
| in pipelines: 01(GETNEXT), 26(OPEN)
|
|--26:AGGREGATE [FINALIZE]
| | group by: tpcds_partitioned_parquet_snap.item_0.i_item_sk
| | mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
-| | tuple-ids=31 row-size=4B cardinality=358.34K cost=1039084
+| | tuple-ids=31 row-size=4B cardinality=360.00K cost=17708997
| | in pipelines: 26(GETNEXT), 24(OPEN)
| |
| 25:HASH JOIN [INNER JOIN]
| | hash predicates: BRAND_ID = tpcds_partitioned_parquet_snap.item_0.i_brand_id, CATEGORY_ID = tpcds_partitioned_parquet_snap.item_0.i_category_id, CLASS_ID = tpcds_partitioned_parquet_snap.item_0.i_class_id
| | fk/pk conjuncts: assumed fk/pk
-| | runtime filters: RF012[bloom] <- tpcds_partitioned_parquet_snap.item_0.i_brand_id, RF013[bloom] <- tpcds_partitioned_parquet_snap.item_0.i_category_id, RF014[bloom] <- tpcds_partitioned_parquet_snap.item_0.i_class_id, RF015[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_brand_id, RF016[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_category_id, RF017[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_class_id
+| | runtime filters: RF015[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_brand_id, RF016[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_category_id, RF017[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_class_id
| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=30,4 row-size=36B cardinality=358.34K cost=538021
+| | tuple-ids=30,4 row-size=36B cardinality=57.33M cost=10823891
| | in pipelines: 24(GETNEXT), 02(OPEN)
| |
| |--02:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
@@ -1054,22 +1054,22 @@ PLAN-ROOT SINK
| | output: count()
| | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | having: count() = CAST(2 AS BIGINT)
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=30 row-size=20B cardinality=447.36K cost=2640587
+| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
+| | tuple-ids=30 row-size=20B cardinality=298.24K cost=1760391
| | in pipelines: 24(GETNEXT), 23(OPEN), 17(OPEN)
| |
| 03:UNION
| | pass-through-operands: 23
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=29 row-size=12B cardinality=447.36K cost=19009
+| | tuple-ids=29 row-size=12B cardinality=298.24K cost=9504
| | in pipelines: 23(GETNEXT), 17(GETNEXT)
| |
| |--17:AGGREGATE [FINALIZE]
| | | output: count()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | having: count() = CAST(2 AS BIGINT)
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=21 row-size=20B cardinality=298.24K cost=1760391
+| | | mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
+| | | tuple-ids=21 row-size=20B cardinality=149.12K cost=1085101
| | | in pipelines: 17(GETNEXT), 10(OPEN), 16(OPEN)
| | |
| | 04:UNION
@@ -1087,7 +1087,7 @@ PLAN-ROOT SINK
| | | 15:HASH JOIN [INNER JOIN]
| | | | hash predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk = tpcds_partitioned_parquet_snap.item_2.i_item_sk
| | | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk = tpcds_partitioned_parquet_snap.item_2.i_item_sk
-| | | | runtime filters: RF027[min_max] <- tpcds_partitioned_parquet_snap.item_2.i_item_sk
+| | | | runtime filters: RF026[bloom] <- tpcds_partitioned_parquet_snap.item_2.i_item_sk, RF027[min_max] <- tpcds_partitioned_parquet_snap.item_2.i_item_sk
| | | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | | | tuple-ids=13,15,17 row-size=32B cardinality=4.28G cost=1872237167
| | | | in pipelines: 11(GETNEXT), 14(OPEN)
@@ -1095,7 +1095,7 @@ PLAN-ROOT SINK
| | | |--14:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
| | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | predicates: tpcds_partitioned_parquet_snap.item_2.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_2.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_2.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_2.i_item_sk IS NOT NULL
-| | | | runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_brand_id, RF016[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_category_id, RF017[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_class_id, RF012[bloom] -> tpcds_partitioned_parquet_snap.item_2.i_brand_id, RF013[bloom] -> tpcds_partitioned_parquet_snap.item_2.i_category_id, RF014[bloom] -> tpcds_partitioned_parquet_snap.item_2.i_class_id
+| | | | runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_brand_id, RF016[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_category_id, RF017[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_class_id
| | | | stored statistics:
| | | | table: rows=360.00K size=33.54MB
| | | | columns: all
@@ -1129,7 +1129,7 @@ PLAN-ROOT SINK
| | | partition predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_sold_date_sk IS NOT NULL
| | | HDFS partitions=1830/1831 files=1830 size=280.81GB
| | | predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk IS NOT NULL
-| | | runtime filters: RF027[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk
+| | | runtime filters: RF027[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk, RF026[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk
| | | stored statistics:
| | | table: rows=4.32G size=280.96GB
| | | partitions: 1830/1830 rows=4.30G
@@ -1149,7 +1149,7 @@ PLAN-ROOT SINK
| | 09:HASH JOIN [INNER JOIN]
| | | hash predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk = tpcds_partitioned_parquet_snap.item_1.i_item_sk
| | | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk = tpcds_partitioned_parquet_snap.item_1.i_item_sk
-| | | runtime filters: RF023[min_max] <- tpcds_partitioned_parquet_snap.item_1.i_item_sk
+| | | runtime filters: RF022[bloom] <- tpcds_partitioned_parquet_snap.item_1.i_item_sk, RF023[min_max] <- tpcds_partitioned_parquet_snap.item_1.i_item_sk
| | | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | | tuple-ids=6,8,10 row-size=32B cardinality=8.21G cost=3592831645
| | | in pipelines: 05(GETNEXT), 08(OPEN)
@@ -1157,7 +1157,7 @@ PLAN-ROOT SINK
| | |--08:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
| | | HDFS partitions=1/1 files=1 size=33.54MB
| | | predicates: tpcds_partitioned_parquet_snap.item_1.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_1.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_1.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_1.i_item_sk IS NOT NULL
-| | | runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_brand_id, RF016[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_category_id, RF017[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_class_id, RF012[bloom] -> tpcds_partitioned_parquet_snap.item_1.i_brand_id, RF013[bloom] -> tpcds_partitioned_parquet_snap.item_1.i_category_id, RF014[bloom] -> tpcds_partitioned_parquet_snap.item_1.i_class_id
+| | | runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_brand_id, RF016[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_category_id, RF017[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_class_id
| | | stored statistics:
| | | table: rows=360.00K size=33.54MB
| | | columns: all
@@ -1191,12 +1191,12 @@ PLAN-ROOT SINK
| | partition predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_sold_date_sk IS NOT NULL
| | HDFS partitions=1823/1824 files=1823 size=389.69GB
| | predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk IS NOT NULL
-| | runtime filters: RF023[min_max] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk
+| | runtime filters: RF023[min_max] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk, RF022[bloom] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk
| | stored statistics:
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=6 row-size=8B cardinality=8.21G(filtered from 8.25G) cost=1182183990
@@ -1211,7 +1211,7 @@ PLAN-ROOT SINK
| 22:HASH JOIN [INNER JOIN]
| | hash predicates: tpcds_partitioned_parquet_snap.web_sales.ws_item_sk = tpcds_partitioned_parquet_snap.item_3.i_item_sk
| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.web_sales.ws_item_sk = tpcds_partitioned_parquet_snap.item_3.i_item_sk
-| | runtime filters: RF019[min_max] <- tpcds_partitioned_parquet_snap.item_3.i_item_sk
+| | runtime filters: RF018[bloom] <- tpcds_partitioned_parquet_snap.item_3.i_item_sk, RF019[min_max] <- tpcds_partitioned_parquet_snap.item_3.i_item_sk
| | mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=22,24,26 row-size=32B cardinality=2.15G cost=940704732
| | in pipelines: 18(GETNEXT), 21(OPEN)
@@ -1219,7 +1219,7 @@ PLAN-ROOT SINK
| |--21:SCAN HDFS [tpcds_partitioned_parquet_snap.item]
| | HDFS partitions=1/1 files=1 size=33.54MB
| | predicates: tpcds_partitioned_parquet_snap.item_3.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_3.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_3.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_3.i_item_sk IS NOT NULL
-| | runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_brand_id, RF016[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_category_id, RF017[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_class_id, RF012[bloom] -> tpcds_partitioned_parquet_snap.item_3.i_brand_id, RF013[bloom] -> tpcds_partitioned_parquet_snap.item_3.i_category_id, RF014[bloom] -> tpcds_partitioned_parquet_snap.item_3.i_class_id
+| | runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_brand_id, RF016[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_category_id, RF017[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_class_id
| | stored statistics:
| | table: rows=360.00K size=33.54MB
| | columns: all
@@ -1253,7 +1253,7 @@ PLAN-ROOT SINK
| partition predicates: tpcds_partitioned_parquet_snap.web_sales.ws_sold_date_sk IS NOT NULL
| HDFS partitions=1823/1824 files=1823 size=145.67GB
| predicates: tpcds_partitioned_parquet_snap.web_sales.ws_item_sk IS NOT NULL
-| runtime filters: RF019[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk
+| runtime filters: RF019[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk, RF018[bloom] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk
| stored statistics:
| table: rows=2.16G size=145.75GB
| partitions: 1823/1823 rows=2.16G
@@ -1273,14 +1273,14 @@ PLAN-ROOT SINK
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=7(filtered from 1823)
+ extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=7(filtered from 1823)
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
- tuple-ids=2 row-size=16B cardinality=31.50M(filtered from 8.25G) cost=8184132
+ tuple-ids=2 row-size=16B cardinality=31.64M(filtered from 8.25G) cost=8184132
in pipelines: 01(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=5.83GB Threads=215
-Per-Host Resource Estimates: Memory=16.31GB
+Max Per-Host Resource Reservation: Memory=3.61GB Threads=219
+Per-Host Resource Estimates: Memory=8.06GB
ImpalaSortRel(sort0=[$1], sort1=[$2], sort2=[$3], dir0=[ASC], dir1=[ASC], dir2=[ASC], fetch=[100:TINYINT])
ImpalaProjectRel(CHANNEL=[CAST(_UTF-8'store':VARCHAR(2147483647) CHARACTER SET "UTF-8"):VARCHAR(2147483647) CHARACTER SET "UTF-8"], I_BRAND_ID=[$0], I_CLASS_ID=[$1], I_CATEGORY_ID=[$2], SALES=[$3], NUMBER_SALES=[$4], CHANNEL0=[CAST(_UTF-8'store':VARCHAR(2147483647) CHARACTER SET "UTF-8"):VARCHAR(2147483647) CHARACTER SET "UTF-8"], I_BRAND_ID0=[$6], I_CLASS_ID0=[$7], I_CATEGORY_ID0=[$8], SALES0=[$9], NUMBER_SALES0=[$10])
ImpalaJoinRel(condition=[AND(=($0, $6), =($1, $7), =($2, $8))], joinType=[inner])
@@ -1508,7 +1508,7 @@ ImpalaSortRel(sort0=[$1], sort1=[$2], sort2=[$3], dir0=[ASC], dir1=[ASC], dir2=[
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, date_dim]])
F66:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.06MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[1239] cpu-comparison-result=1038 [max(1 (self) vs 1038 (sum children))]
+| max-parallelism=1 segment-costs=[1239] cpu-comparison-result=1058 [max(1 (self) vs 1058 (sum children))]
PLAN-ROOT SINK
| output exprs: 'store', tpcds_partitioned_parquet_snap.item.i_brand_id, tpcds_partitioned_parquet_snap.item.i_class_id, tpcds_partitioned_parquet_snap.item.i_category_id, sum(multiply(tpcds_partitioned_parquet_snap.store_sales.ss_quantity, tpcds_partitioned_parquet_snap.store_sales.ss_list_price)), count(), 'store', tpcds_partitioned_parquet_snap.item_4.i_brand_id, tpcds_partitioned_parquet_snap.item_4.i_class_id, tpcds_partitioned_parquet_snap.item_4.i_category_id, sum(multiply(tpcds_ [...]
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=1200
@@ -1522,7 +1522,7 @@ PLAN-ROOT SINK
|
F23:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.item.i_brand_id,tpcds_partitioned_parquet_snap.item.i_class_id,tpcds_partitioned_parquet_snap.item.i_category_id)] hosts=4 instances=8 (adjusted from 4)
Per-Instance Resources: mem-estimate=20.27MB mem-reservation=1.94MB thread-reservation=1
-max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=1038 [max(8 (self) vs 1038 (sum children))]
+max-parallelism=8 segment-costs=[26214714, 73981498, 220] cpu-comparison-result=1058 [max(8 (self) vs 1058 (sum children))]
97:TOP-N [LIMIT=100]
| order by: tpcds_partitioned_parquet_snap.item.i_brand_id ASC NULLS LAST, tpcds_partitioned_parquet_snap.item.i_class_id ASC NULLS LAST, tpcds_partitioned_parquet_snap.item.i_category_id ASC NULLS LAST
| mem-estimate=7.03KB mem-reservation=0B thread-reservation=0
@@ -1539,7 +1539,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
|
|--F67:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.item.i_brand_id,tpcds_partitioned_parquet_snap.item.i_class_id,tpcds_partitioned_parquet_snap.item.i_category_id)] hosts=4 instances=8 (adjusted from 4)
| | Per-Instance Resources: mem-estimate=20.27MB mem-reservation=10.44MB thread-reservation=1
-| | max-parallelism=8 segment-costs=[26171763, 17967] cpu-comparison-result=519 [max(8 (self) vs 519 (sum children))]
+| | max-parallelism=8 segment-costs=[26214714, 17967] cpu-comparison-result=529 [max(8 (self) vs 529 (sum children))]
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
| | build expressions: tpcds_partitioned_parquet_snap.item_4.i_brand_id, tpcds_partitioned_parquet_snap.item_4.i_category_id, tpcds_partitioned_parquet_snap.item_4.i_class_id
@@ -1742,7 +1742,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=90 row-size=12B cardinality=8.25G cost=1425550548
| | in pipelines: 85(GETNEXT)
@@ -1752,23 +1752,23 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | group by: tpcds_partitioned_parquet_snap.item_4.i_brand_id, tpcds_partitioned_parquet_snap.item_4.i_class_id, tpcds_partitioned_parquet_snap.item_4.i_category_id
| | having: sum(multiply(tpcds_partitioned_parquet_snap.store_sales_2.ss_quantity, tpcds_partitioned_parquet_snap.store_sales_2.ss_list_price)) IS NOT NULL
| | mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
-| | tuple-ids=89 row-size=36B cardinality=14.91K cost=22071999
+| | tuple-ids=89 row-size=36B cardinality=14.91K cost=22108044
| | in pipelines: 155(GETNEXT), 49(OPEN)
| |
| 154:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_4.i_brand_id,tpcds_partitioned_parquet_snap.item_4.i_class_id,tpcds_partitioned_parquet_snap.item_4.i_category_id)]
| | mem-estimate=10.27MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=89 row-size=36B cardinality=14.82M cost=4099764
+| | tuple-ids=89 row-size=36B cardinality=14.84M cost=4106670
| | in pipelines: 49(GETNEXT)
| |
| F33:PLAN FRAGMENT [RANDOM] hosts=10 instances=7 (adjusted from 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=27.25MB mem-reservation=9.50MB thread-reservation=1
-| max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399 [max(7 (self) vs 399 (sum children))]
+| max-parallelism=7 segment-costs=[1651019150, 42055157] cpu-comparison-result=409 [max(7 (self) vs 409 (sum children))]
| 82:AGGREGATE [STREAMING]
| | output: sum(multiply(CAST(tpcds_partitioned_parquet_snap.store_sales_2.ss_quantity AS DECIMAL(10,0)), tpcds_partitioned_parquet_snap.store_sales_2.ss_list_price)), count()
| | group by: tpcds_partitioned_parquet_snap.item_4.i_brand_id, tpcds_partitioned_parquet_snap.item_4.i_class_id, tpcds_partitioned_parquet_snap.item_4.i_category_id
| | mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| | tuple-ids=89 row-size=36B cardinality=14.82M cost=112584174
+| | tuple-ids=89 row-size=36B cardinality=14.84M cost=112907667
| | in pipelines: 49(GETNEXT)
| |
| 81:HASH JOIN [INNER JOIN, BROADCAST]
@@ -1776,7 +1776,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk = tpcds_partitioned_parquet_snap.item_4.i_item_sk
| | fk/pk conjuncts: none
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=55,84,85,87,53 row-size=60B cardinality=31.50M cost=13786904
+| | tuple-ids=55,84,85,87,53 row-size=60B cardinality=31.64M cost=13850694
| | in pipelines: 49(GETNEXT), 48(OPEN)
| |
| |--F72:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
@@ -1813,7 +1813,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_2.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=55,84,85,87 row-size=44B cardinality=31.50M cost=13828344
+| | tuple-ids=55,84,85,87 row-size=44B cardinality=31.64M cost=13854752
| | in pipelines: 49(GETNEXT), 76(OPEN)
| |
| |--F73:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
@@ -1906,62 +1906,62 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk = tpcds_partitioned_parquet_snap.item_5.i_item_sk
| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk = tpcds_partitioned_parquet_snap.item_5.i_item_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=1.00MB thread-reservation=0
-| | tuple-ids=55,84 row-size=20B cardinality=31.66M(filtered from 8.21G) cost=1495340740
+| | tuple-ids=55,84 row-size=20B cardinality=31.66M(filtered from 8.25G) cost=1502221905
| | in pipelines: 49(GETNEXT), 148(OPEN)
| |
| |--F75:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | Per-Instance Resources: mem-estimate=18.45MB mem-reservation=17.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[834572] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| | | max-parallelism=10 segment-costs=[838440] cpu-comparison-result=384 [max(10 (self) vs 384 (sum children))]
| | JOIN BUILD
| | | join-table-id=08 plan-id=09 cohort-id=02
| | | build expressions: tpcds_partitioned_parquet_snap.item_5.i_item_sk
| | | runtime filters: RF043[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_item_sk
-| | | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0 cost=358342
+| | | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0 cost=360000
| | |
| | 149:EXCHANGE [BROADCAST]
| | | mem-estimate=1.45MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=84 row-size=4B cardinality=358.34K cost=476230
+| | | tuple-ids=84 row-size=4B cardinality=360.00K cost=478440
| | | in pipelines: 148(GETNEXT)
| | |
| | F51:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.item_5.i_item_sk)] hosts=10 instances=10 (adjusted from 120)
-| | Per-Instance Resources: mem-estimate=10.21MB mem-reservation=1.94MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[1085489, 11610] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| | Per-Instance Resources: mem-estimate=20.16MB mem-reservation=1.94MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[14333935, 11664] cpu-comparison-result=384 [max(10 (self) vs 384 (sum children))]
| | 148:AGGREGATE [FINALIZE]
| | | group by: tpcds_partitioned_parquet_snap.item_5.i_item_sk
| | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-| | | tuple-ids=84 row-size=4B cardinality=358.34K cost=1039084
+| | | tuple-ids=84 row-size=4B cardinality=360.00K cost=10223279
| | | in pipelines: 148(GETNEXT), 145(OPEN)
| | |
| | 147:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_5.i_item_sk)]
-| | | mem-estimate=219.98KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=84 row-size=4B cardinality=358.34K cost=46405
+| | | mem-estimate=10.16MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=84 row-size=4B cardinality=31.74M cost=4110656
| | | in pipelines: 145(GETNEXT)
| | |
-| | F49:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| | Per-Instance Resources: mem-estimate=141.67MB mem-reservation=36.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[2731445, 1218763, 276926] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| | F49:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=20 (adjusted from 120)
+| | Per-Instance Resources: mem-estimate=23.38MB mem-reservation=10.94MB thread-reservation=1
+| | max-parallelism=20 segment-costs=[1820963, 109995052, 24530619] cpu-comparison-result=384 [max(20 (self) vs 384 (sum children))]
| | 74:AGGREGATE [STREAMING]
| | | group by: tpcds_partitioned_parquet_snap.item_5.i_item_sk
-| | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | | tuple-ids=84 row-size=4B cardinality=358.34K cost=1039084
+| | | mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
+| | | tuple-ids=84 row-size=4B cardinality=31.74M cost=99529503
| | | in pipelines: 145(GETNEXT)
| | |
| | 73:HASH JOIN [INNER JOIN, PARTITIONED]
| | | hash-table-id=09
| | | hash predicates: BRAND_ID = tpcds_partitioned_parquet_snap.item_5.i_brand_id, CATEGORY_ID = tpcds_partitioned_parquet_snap.item_5.i_category_id, CLASS_ID = tpcds_partitioned_parquet_snap.item_5.i_class_id
| | | fk/pk conjuncts: assumed fk/pk
-| | | mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=83,57 row-size=36B cardinality=358.34K cost=179679
+| | | mem-estimate=0B mem-reservation=0B spill-buffer=128.00KB thread-reservation=0
+| | | tuple-ids=83,57 row-size=36B cardinality=57.33M cost=10465549
| | | in pipelines: 145(GETNEXT), 50(OPEN)
| | |
-| | |--F76:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| | | | Per-Instance Resources: mem-estimate=9.20MB mem-reservation=7.75MB thread-reservation=1 runtime-filters-memory=3.00MB
-| | | | max-parallelism=10 segment-costs=[424527]
+| | |--F76:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=20 (adjusted from 120)
+| | | | Per-Instance Resources: mem-estimate=4.32MB mem-reservation=2.88MB thread-reservation=1
+| | | | max-parallelism=20 segment-costs=[424527]
| | | JOIN BUILD
| | | | join-table-id=09 plan-id=10 cohort-id=05
| | | | build expressions: tpcds_partitioned_parquet_snap.item_5.i_brand_id, tpcds_partitioned_parquet_snap.item_5.i_category_id, tpcds_partitioned_parquet_snap.item_5.i_class_id
-| | | | runtime filters: RF044[bloom] <- tpcds_partitioned_parquet_snap.item_5.i_brand_id, RF045[bloom] <- tpcds_partitioned_parquet_snap.item_5.i_category_id, RF046[bloom] <- tpcds_partitioned_parquet_snap.item_5.i_class_id, RF047[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_brand_id, RF048[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_category_id, RF049[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_class_id
-| | | | mem-estimate=4.75MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0 cost=358342
+| | | | runtime filters: RF047[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_brand_id, RF048[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_category_id, RF049[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_class_id
+| | | | mem-estimate=2.88MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0 cost=358342
| | | |
| | | 146:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_5.i_brand_id,tpcds_partitioned_parquet_snap.item_5.i_class_id,tpcds_partitioned_parquet_snap.item_5.i_category_id)]
| | | | mem-estimate=1.45MB mem-reservation=0B thread-reservation=0
@@ -1969,7 +1969,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | | in pipelines: 50(GETNEXT)
| | | |
| | | F50:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | Per-Instance Resources: mem-estimate=16.78MB mem-reservation=512.00KB thread-reservation=1
+| | | Per-Instance Resources: mem-estimate=17.56MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=4 segment-costs=[677261]
| | | 50:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | HDFS partitions=1/1 files=1 size=33.54MB
@@ -1988,52 +1988,52 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | output: count:merge()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | having: count() = CAST(2 AS BIGINT)
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=83 row-size=20B cardinality=447.36K cost=2640587
+| | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=83 row-size=20B cardinality=298.24K cost=1760391
| | | in pipelines: 145(GETNEXT), 133(OPEN), 143(OPEN)
| | |
| | 144:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
-| | | mem-estimate=3.67MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=83 row-size=20B cardinality=447.36K cost=90858
+| | | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=83 row-size=20B cardinality=298.24K cost=60572
| | | in pipelines: 133(GETNEXT), 143(GETNEXT)
| | |
| | F48:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| | Per-Instance Resources: mem-estimate=260.32MB mem-reservation=68.00MB thread-reservation=1
-| | max-parallelism=120 segment-costs=[28239822, 1820963, 2659596, 806679] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+| | Per-Instance Resources: mem-estimate=33.75MB mem-reservation=6.75MB thread-reservation=1
+| | max-parallelism=120 segment-costs=[28239822, 1142014, 1769895, 537786] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
| | 72:AGGREGATE [STREAMING]
| | | output: count()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=83 row-size=20B cardinality=447.36K cost=2640587
+| | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=83 row-size=20B cardinality=298.24K cost=1760391
| | | in pipelines: 133(GETNEXT), 143(GETNEXT)
| | |
| | 51:UNION
| | | pass-through-operands: 133
| | | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | | tuple-ids=82 row-size=12B cardinality=447.36K cost=19009
+| | | tuple-ids=82 row-size=12B cardinality=298.24K cost=9504
| | | in pipelines: 133(GETNEXT), 143(GETNEXT)
| | |
| | |--143:AGGREGATE [FINALIZE]
| | | | output: count:merge()
| | | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | | having: count() = CAST(2 AS BIGINT)
-| | | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | | tuple-ids=74 row-size=20B cardinality=298.24K cost=1760391
+| | | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | | | tuple-ids=74 row-size=20B cardinality=149.12K cost=1081913
| | | | in pipelines: 143(GETNEXT), 137(OPEN), 141(OPEN)
| | | |
| | | 142:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
| | | | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=74 row-size=20B cardinality=298.24K cost=60572
+| | | | tuple-ids=74 row-size=20B cardinality=295.92K cost=60101
| | | | in pipelines: 137(GETNEXT), 141(GETNEXT)
| | | |
| | | F46:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| | | Per-Instance Resources: mem-estimate=161.12MB mem-reservation=38.75MB thread-reservation=1
-| | | max-parallelism=120 segment-costs=[28239822, 28239822, 1760391, 537786] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
+| | | Per-Instance Resources: mem-estimate=43.12MB mem-reservation=6.75MB thread-reservation=1
+| | | max-parallelism=120 segment-costs=[28239822, 28239822, 1749885, 533602] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
| | | 65:AGGREGATE [STREAMING]
| | | | output: count()
| | | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | | tuple-ids=74 row-size=20B cardinality=298.24K cost=1760391
+| | | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | | | tuple-ids=74 row-size=20B cardinality=295.92K cost=1749885
| | | | in pipelines: 137(GETNEXT), 141(GETNEXT)
| | | |
| | | 52:UNION
@@ -2054,6 +2054,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | | | in pipelines: 59(GETNEXT)
| | | | |
| | | | F42: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=33.50MB mem-reservation=5.25MB thread-reservation=1
| | | | max-parallelism=1040 segment-costs=[10321261528, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | | | 64:AGGREGATE [STREAMING]
@@ -2071,12 +2072,12 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | | | in pipelines: 59(GETNEXT), 62(OPEN)
| | | | |
| | | | |--F81:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | | | max-parallelism=10 segment-costs=[834572]
| | | | | JOIN BUILD
| | | | | | join-table-id=14 plan-id=15 cohort-id=05
| | | | | | build expressions: tpcds_partitioned_parquet_snap.item_7.i_item_sk
-| | | | | | runtime filters: RF059[min_max] <- tpcds_partitioned_parquet_snap.item_7.i_item_sk
+| | | | | | runtime filters: RF058[bloom] <- tpcds_partitioned_parquet_snap.item_7.i_item_sk, RF059[min_max] <- tpcds_partitioned_parquet_snap.item_7.i_item_sk
| | | | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | | | |
| | | | | 139:EXCHANGE [BROADCAST]
@@ -2085,13 +2086,12 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | | | | in pipelines: 62(GETNEXT)
| | | | | |
| | | | | F44:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | | | 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=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | | | max-parallelism=4 segment-costs=[146628]
| | | | | 62:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | | predicates: tpcds_partitioned_parquet_snap.item_7.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_7.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_7.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_7.i_item_sk IS NOT NULL
-| | | | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_brand_id, RF048[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_category_id, RF049[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_class_id, RF044[bloom] -> tpcds_partitioned_parquet_snap.item_7.i_brand_id, RF045[bloom] -> tpcds_partitioned_parquet_snap.item_7.i_category_id, RF046[bloom] -> tpcds_partitioned_parquet_snap.item_7.i_class_id
+| | | | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_brand_id, RF048[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_category_id, RF049[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_class_id
| | | | | stored statistics:
| | | | | table: rows=360.00K size=33.54MB
| | | | | columns: all
@@ -2142,7 +2142,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | | partition predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_sold_date_sk IS NOT NULL
| | | | HDFS partitions=1830/1831 files=1830 size=280.81GB
| | | | predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk IS NOT NULL
-| | | | runtime filters: RF059[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk
+| | | | runtime filters: RF059[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk, RF058[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk
| | | | stored statistics:
| | | | table: rows=4.32G size=280.96GB
| | | | partitions: 1830/1830 rows=4.30G
@@ -2165,6 +2165,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | | in pipelines: 53(GETNEXT)
| | | |
| | | F38: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=33.50MB mem-reservation=5.50MB thread-reservation=1
| | | max-parallelism=1823 segment-costs=[19733878056, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | | 58:AGGREGATE [STREAMING]
@@ -2182,12 +2183,12 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | | in pipelines: 53(GETNEXT), 56(OPEN)
| | | |
| | | |--F79:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | | max-parallelism=10 segment-costs=[834572]
| | | | JOIN BUILD
| | | | | join-table-id=12 plan-id=13 cohort-id=05
| | | | | build expressions: tpcds_partitioned_parquet_snap.item_6.i_item_sk
-| | | | | runtime filters: RF055[min_max] <- tpcds_partitioned_parquet_snap.item_6.i_item_sk
+| | | | | runtime filters: RF054[bloom] <- tpcds_partitioned_parquet_snap.item_6.i_item_sk, RF055[min_max] <- tpcds_partitioned_parquet_snap.item_6.i_item_sk
| | | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | | |
| | | | 135:EXCHANGE [BROADCAST]
@@ -2196,13 +2197,12 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | | | in pipelines: 56(GETNEXT)
| | | | |
| | | | F40:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | | 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=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=4 segment-costs=[146628]
| | | | 56:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | predicates: tpcds_partitioned_parquet_snap.item_6.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_6.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_6.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_6.i_item_sk IS NOT NULL
-| | | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_brand_id, RF048[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_category_id, RF049[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_class_id, RF044[bloom] -> tpcds_partitioned_parquet_snap.item_6.i_brand_id, RF045[bloom] -> tpcds_partitioned_parquet_snap.item_6.i_category_id, RF046[bloom] -> tpcds_partitioned_parquet_snap.item_6.i_class_id
+| | | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_brand_id, RF048[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_category_id, RF049[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_class_id
| | | | stored statistics:
| | | | table: rows=360.00K size=33.54MB
| | | | columns: all
@@ -2253,12 +2253,12 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | partition predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_sold_date_sk IS NOT NULL
| | | HDFS partitions=1823/1824 files=1823 size=389.69GB
| | | predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_item_sk IS NOT NULL
-| | | runtime filters: RF055[min_max] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_item_sk
+| | | runtime filters: RF055[min_max] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_item_sk, RF054[bloom] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_item_sk
| | | stored statistics:
| | | table: rows=8.64G size=389.90GB
| | | partitions: 1823/1823 rows=8.25G
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_item_sk IS NOT NULL
| | | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | | tuple-ids=59 row-size=8B cardinality=8.21G(filtered from 8.25G) cost=1182183990
@@ -2276,6 +2276,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | in pipelines: 66(GETNEXT)
| | |
| | F34: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=33.50MB mem-reservation=5.12MB thread-reservation=1
| | max-parallelism=530 segment-costs=[5225256796, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | 71:AGGREGATE [STREAMING]
@@ -2293,12 +2294,12 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | in pipelines: 66(GETNEXT), 69(OPEN)
| | |
| | |--F77:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | max-parallelism=10 segment-costs=[834572]
| | | JOIN BUILD
| | | | join-table-id=10 plan-id=11 cohort-id=05
| | | | build expressions: tpcds_partitioned_parquet_snap.item_8.i_item_sk
-| | | | runtime filters: RF051[min_max] <- tpcds_partitioned_parquet_snap.item_8.i_item_sk
+| | | | runtime filters: RF050[bloom] <- tpcds_partitioned_parquet_snap.item_8.i_item_sk, RF051[min_max] <- tpcds_partitioned_parquet_snap.item_8.i_item_sk
| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | |
| | | 131:EXCHANGE [BROADCAST]
@@ -2307,13 +2308,12 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | | in pipelines: 69(GETNEXT)
| | | |
| | | F36:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | 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=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=4 segment-costs=[146628]
| | | 69:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | HDFS partitions=1/1 files=1 size=33.54MB
| | | predicates: tpcds_partitioned_parquet_snap.item_8.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_8.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_8.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_8.i_item_sk IS NOT NULL
-| | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_brand_id, RF048[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_category_id, RF049[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_class_id, RF044[bloom] -> tpcds_partitioned_parquet_snap.item_8.i_brand_id, RF045[bloom] -> tpcds_partitioned_parquet_snap.item_8.i_category_id, RF046[bloom] -> tpcds_partitioned_parquet_snap.item_8.i_class_id
+| | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_brand_id, RF048[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_category_id, RF049[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_class_id
| | | stored statistics:
| | | table: rows=360.00K size=33.54MB
| | | columns: all
@@ -2364,7 +2364,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | partition predicates: tpcds_partitioned_parquet_snap.web_sales_1.ws_sold_date_sk IS NOT NULL
| | HDFS partitions=1823/1824 files=1823 size=145.67GB
| | predicates: tpcds_partitioned_parquet_snap.web_sales_1.ws_item_sk IS NOT NULL
-| | runtime filters: RF051[min_max] -> tpcds_partitioned_parquet_snap.web_sales_1.ws_item_sk
+| | runtime filters: RF051[min_max] -> tpcds_partitioned_parquet_snap.web_sales_1.ws_item_sk, RF050[bloom] -> tpcds_partitioned_parquet_snap.web_sales_1.ws_item_sk
| | stored statistics:
| | table: rows=2.16G size=145.75GB
| | partitions: 1823/1823 rows=2.16G
@@ -2384,7 +2384,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=7(filtered from 1823)
+| extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=7(filtered from 1823)
| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk IS NOT NULL
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=55 row-size=16B cardinality=31.66M(filtered from 8.25G) cost=8184132
@@ -2586,7 +2586,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M
+| extrapolated-rows=disabled max-scan-range-rows=12.31M
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=37 row-size=12B cardinality=8.25G cost=1425550548
| in pipelines: 37(GETNEXT)
@@ -2596,23 +2596,23 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| group by: tpcds_partitioned_parquet_snap.item.i_brand_id, tpcds_partitioned_parquet_snap.item.i_class_id, tpcds_partitioned_parquet_snap.item.i_category_id
| having: sum(multiply(tpcds_partitioned_parquet_snap.store_sales.ss_quantity, tpcds_partitioned_parquet_snap.store_sales.ss_list_price)) IS NOT NULL
| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=36 row-size=36B cardinality=14.91K cost=22071999
+| tuple-ids=36 row-size=36B cardinality=14.91K cost=22108044
| in pipelines: 123(GETNEXT), 01(OPEN)
|
122:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item.i_brand_id,tpcds_partitioned_parquet_snap.item.i_class_id,tpcds_partitioned_parquet_snap.item.i_category_id)]
| mem-estimate=10.27MB mem-reservation=0B thread-reservation=0
-| tuple-ids=36 row-size=36B cardinality=14.82M cost=4099764
+| tuple-ids=36 row-size=36B cardinality=14.84M cost=4106670
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=10 instances=7 (adjusted from 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=27.25MB mem-reservation=9.50MB thread-reservation=1
-max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399 [max(7 (self) vs 399 (sum children))]
+max-parallelism=7 segment-costs=[1651019150, 42055157] cpu-comparison-result=409 [max(7 (self) vs 409 (sum children))]
34:AGGREGATE [STREAMING]
| output: sum(multiply(CAST(tpcds_partitioned_parquet_snap.store_sales.ss_quantity AS DECIMAL(10,0)), tpcds_partitioned_parquet_snap.store_sales.ss_list_price)), count()
| group by: tpcds_partitioned_parquet_snap.item.i_brand_id, tpcds_partitioned_parquet_snap.item.i_class_id, tpcds_partitioned_parquet_snap.item.i_category_id
| mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| tuple-ids=36 row-size=36B cardinality=14.82M cost=112584174
+| tuple-ids=36 row-size=36B cardinality=14.84M cost=112907667
| in pipelines: 01(GETNEXT)
|
33:HASH JOIN [INNER JOIN, BROADCAST]
@@ -2620,7 +2620,7 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
| fk/pk conjuncts: none
| mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=2,31,32,34,0 row-size=60B cardinality=31.50M cost=13786904
+| tuple-ids=2,31,32,34,0 row-size=60B cardinality=31.64M cost=13850694
| in pipelines: 01(GETNEXT), 00(OPEN)
|
|--F87:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
@@ -2658,7 +2658,7 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
| mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=2,31,32,34 row-size=44B cardinality=31.50M cost=13828344
+| tuple-ids=2,31,32,34 row-size=44B cardinality=31.64M cost=13854752
| in pipelines: 01(GETNEXT), 28(OPEN)
|
|--F88:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
@@ -2751,62 +2751,62 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item_0.i_item_sk
| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item_0.i_item_sk
| mem-estimate=0B mem-reservation=0B spill-buffer=1.00MB thread-reservation=0
-| tuple-ids=2,31 row-size=20B cardinality=31.66M(filtered from 8.21G) cost=1495340740
+| tuple-ids=2,31 row-size=20B cardinality=31.66M(filtered from 8.25G) cost=1502221905
| in pipelines: 01(GETNEXT), 116(OPEN)
|
|--F90:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | Per-Instance Resources: mem-estimate=18.45MB mem-reservation=17.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[834572] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| | max-parallelism=10 segment-costs=[838440] cpu-comparison-result=384 [max(10 (self) vs 384 (sum children))]
| JOIN BUILD
| | join-table-id=23 plan-id=24 cohort-id=01
| | build expressions: tpcds_partitioned_parquet_snap.item_0.i_item_sk
| | runtime filters: RF011[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_item_sk
-| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0 cost=358342
+| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0 cost=360000
| |
| 117:EXCHANGE [BROADCAST]
| | mem-estimate=1.45MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=31 row-size=4B cardinality=358.34K cost=476230
+| | tuple-ids=31 row-size=4B cardinality=360.00K cost=478440
| | in pipelines: 116(GETNEXT)
| |
| F18:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.item_0.i_item_sk)] hosts=10 instances=10 (adjusted from 120)
-| Per-Instance Resources: mem-estimate=10.21MB mem-reservation=1.94MB thread-reservation=1
-| max-parallelism=10 segment-costs=[1085489, 11610] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| Per-Instance Resources: mem-estimate=20.16MB mem-reservation=1.94MB thread-reservation=1
+| max-parallelism=10 segment-costs=[14333935, 11664] cpu-comparison-result=384 [max(10 (self) vs 384 (sum children))]
| 116:AGGREGATE [FINALIZE]
| | group by: tpcds_partitioned_parquet_snap.item_0.i_item_sk
| | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=31 row-size=4B cardinality=358.34K cost=1039084
+| | tuple-ids=31 row-size=4B cardinality=360.00K cost=10223279
| | in pipelines: 116(GETNEXT), 113(OPEN)
| |
| 115:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_0.i_item_sk)]
-| | mem-estimate=219.98KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=31 row-size=4B cardinality=358.34K cost=46405
+| | mem-estimate=10.16MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=31 row-size=4B cardinality=31.74M cost=4110656
| | in pipelines: 113(GETNEXT)
| |
-| F16:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| Per-Instance Resources: mem-estimate=141.67MB mem-reservation=36.00MB thread-reservation=1
-| max-parallelism=10 segment-costs=[2731445, 1218763, 276926] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| F16:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=20 (adjusted from 120)
+| Per-Instance Resources: mem-estimate=23.38MB mem-reservation=10.94MB thread-reservation=1
+| max-parallelism=20 segment-costs=[1820963, 109995052, 24530619] cpu-comparison-result=384 [max(20 (self) vs 384 (sum children))]
| 26:AGGREGATE [STREAMING]
| | group by: tpcds_partitioned_parquet_snap.item_0.i_item_sk
-| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=31 row-size=4B cardinality=358.34K cost=1039084
+| | mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
+| | tuple-ids=31 row-size=4B cardinality=31.74M cost=99529503
| | in pipelines: 113(GETNEXT)
| |
| 25:HASH JOIN [INNER JOIN, PARTITIONED]
| | hash-table-id=24
| | hash predicates: BRAND_ID = tpcds_partitioned_parquet_snap.item_0.i_brand_id, CATEGORY_ID = tpcds_partitioned_parquet_snap.item_0.i_category_id, CLASS_ID = tpcds_partitioned_parquet_snap.item_0.i_class_id
| | fk/pk conjuncts: assumed fk/pk
-| | mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-| | tuple-ids=30,4 row-size=36B cardinality=358.34K cost=179679
+| | mem-estimate=0B mem-reservation=0B spill-buffer=128.00KB thread-reservation=0
+| | tuple-ids=30,4 row-size=36B cardinality=57.33M cost=10465549
| | in pipelines: 113(GETNEXT), 02(OPEN)
| |
-| |--F91:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| | | Per-Instance Resources: mem-estimate=9.20MB mem-reservation=7.75MB thread-reservation=1 runtime-filters-memory=3.00MB
-| | | max-parallelism=10 segment-costs=[424527]
+| |--F91:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=20 (adjusted from 120)
+| | | Per-Instance Resources: mem-estimate=4.32MB mem-reservation=2.88MB thread-reservation=1
+| | | max-parallelism=20 segment-costs=[424527]
| | JOIN BUILD
| | | join-table-id=24 plan-id=25 cohort-id=08
| | | build expressions: tpcds_partitioned_parquet_snap.item_0.i_brand_id, tpcds_partitioned_parquet_snap.item_0.i_category_id, tpcds_partitioned_parquet_snap.item_0.i_class_id
-| | | runtime filters: RF012[bloom] <- tpcds_partitioned_parquet_snap.item_0.i_brand_id, RF013[bloom] <- tpcds_partitioned_parquet_snap.item_0.i_category_id, RF014[bloom] <- tpcds_partitioned_parquet_snap.item_0.i_class_id, RF015[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_brand_id, RF016[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_category_id, RF017[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_class_id
-| | | mem-estimate=4.75MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0 cost=358342
+| | | runtime filters: RF015[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_brand_id, RF016[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_category_id, RF017[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_class_id
+| | | mem-estimate=2.88MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0 cost=358342
| | |
| | 114:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_0.i_brand_id,tpcds_partitioned_parquet_snap.item_0.i_class_id,tpcds_partitioned_parquet_snap.item_0.i_category_id)]
| | | mem-estimate=1.45MB mem-reservation=0B thread-reservation=0
@@ -2814,7 +2814,7 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | | in pipelines: 02(GETNEXT)
| | |
| | F17:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | Per-Instance Resources: mem-estimate=16.78MB mem-reservation=512.00KB thread-reservation=1
+| | Per-Instance Resources: mem-estimate=17.56MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=4 segment-costs=[677261]
| | 02:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | HDFS partitions=1/1 files=1 size=33.54MB
@@ -2833,52 +2833,52 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | output: count:merge()
| | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | having: count() = CAST(2 AS BIGINT)
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=30 row-size=20B cardinality=447.36K cost=2640587
+| | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | tuple-ids=30 row-size=20B cardinality=298.24K cost=1760391
| | in pipelines: 113(GETNEXT), 101(OPEN), 111(OPEN)
| |
| 112:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
-| | mem-estimate=3.67MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=30 row-size=20B cardinality=447.36K cost=90858
+| | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=30 row-size=20B cardinality=298.24K cost=60572
| | in pipelines: 101(GETNEXT), 111(GETNEXT)
| |
| F15:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| Per-Instance Resources: mem-estimate=260.32MB mem-reservation=68.00MB thread-reservation=1
-| max-parallelism=120 segment-costs=[28239822, 1820963, 2659596, 806679] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+| Per-Instance Resources: mem-estimate=33.75MB mem-reservation=6.75MB thread-reservation=1
+| max-parallelism=120 segment-costs=[28239822, 1142014, 1769895, 537786] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
| 24:AGGREGATE [STREAMING]
| | output: count()
| | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=30 row-size=20B cardinality=447.36K cost=2640587
+| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | tuple-ids=30 row-size=20B cardinality=298.24K cost=1760391
| | in pipelines: 101(GETNEXT), 111(GETNEXT)
| |
| 03:UNION
| | pass-through-operands: 101
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=29 row-size=12B cardinality=447.36K cost=19009
+| | tuple-ids=29 row-size=12B cardinality=298.24K cost=9504
| | in pipelines: 101(GETNEXT), 111(GETNEXT)
| |
| |--111:AGGREGATE [FINALIZE]
| | | output: count:merge()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | having: count() = CAST(2 AS BIGINT)
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=21 row-size=20B cardinality=298.24K cost=1760391
+| | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=21 row-size=20B cardinality=149.12K cost=1081913
| | | in pipelines: 111(GETNEXT), 105(OPEN), 109(OPEN)
| | |
| | 110:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
| | | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=21 row-size=20B cardinality=298.24K cost=60572
+| | | tuple-ids=21 row-size=20B cardinality=295.92K cost=60101
| | | in pipelines: 105(GETNEXT), 109(GETNEXT)
| | |
| | F13:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| | Per-Instance Resources: mem-estimate=161.12MB mem-reservation=38.75MB thread-reservation=1
-| | max-parallelism=120 segment-costs=[28239822, 28239822, 1760391, 537786] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
+| | Per-Instance Resources: mem-estimate=43.12MB mem-reservation=6.75MB thread-reservation=1
+| | max-parallelism=120 segment-costs=[28239822, 28239822, 1749885, 533602] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
| | 17:AGGREGATE [STREAMING]
| | | output: count()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=21 row-size=20B cardinality=298.24K cost=1760391
+| | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=21 row-size=20B cardinality=295.92K cost=1749885
| | | in pipelines: 105(GETNEXT), 109(GETNEXT)
| | |
| | 04:UNION
@@ -2899,6 +2899,7 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | | | in pipelines: 11(GETNEXT)
| | | |
| | | F09: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=33.50MB mem-reservation=5.25MB thread-reservation=1
| | | max-parallelism=1040 segment-costs=[10321261528, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | | 16:AGGREGATE [STREAMING]
@@ -2916,12 +2917,12 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | | | in pipelines: 11(GETNEXT), 14(OPEN)
| | | |
| | | |--F96:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | | max-parallelism=10 segment-costs=[834572]
| | | | JOIN BUILD
| | | | | join-table-id=29 plan-id=30 cohort-id=08
| | | | | build expressions: tpcds_partitioned_parquet_snap.item_2.i_item_sk
-| | | | | runtime filters: RF027[min_max] <- tpcds_partitioned_parquet_snap.item_2.i_item_sk
+| | | | | runtime filters: RF026[bloom] <- tpcds_partitioned_parquet_snap.item_2.i_item_sk, RF027[min_max] <- tpcds_partitioned_parquet_snap.item_2.i_item_sk
| | | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | | |
| | | | 107:EXCHANGE [BROADCAST]
@@ -2930,13 +2931,12 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | | | | in pipelines: 14(GETNEXT)
| | | | |
| | | | F11:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | | 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=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=4 segment-costs=[146628]
| | | | 14:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | predicates: tpcds_partitioned_parquet_snap.item_2.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_2.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_2.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_2.i_item_sk IS NOT NULL
-| | | | runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_brand_id, RF016[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_category_id, RF017[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_class_id, RF012[bloom] -> tpcds_partitioned_parquet_snap.item_2.i_brand_id, RF013[bloom] -> tpcds_partitioned_parquet_snap.item_2.i_category_id, RF014[bloom] -> tpcds_partitioned_parquet_snap.item_2.i_class_id
+| | | | runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_brand_id, RF016[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_category_id, RF017[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_class_id
| | | | stored statistics:
| | | | table: rows=360.00K size=33.54MB
| | | | columns: all
@@ -2987,7 +2987,7 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | | partition predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_sold_date_sk IS NOT NULL
| | | HDFS partitions=1830/1831 files=1830 size=280.81GB
| | | predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk IS NOT NULL
-| | | runtime filters: RF027[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk
+| | | runtime filters: RF027[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk, RF026[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk
| | | stored statistics:
| | | table: rows=4.32G size=280.96GB
| | | partitions: 1830/1830 rows=4.30G
@@ -3010,6 +3010,7 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | | in pipelines: 05(GETNEXT)
| | |
| | F05: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=33.50MB mem-reservation=5.50MB thread-reservation=1
| | max-parallelism=1823 segment-costs=[19733878056, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | 10:AGGREGATE [STREAMING]
@@ -3027,12 +3028,12 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | | in pipelines: 05(GETNEXT), 08(OPEN)
| | |
| | |--F94:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | max-parallelism=10 segment-costs=[834572]
| | | JOIN BUILD
| | | | join-table-id=27 plan-id=28 cohort-id=08
| | | | build expressions: tpcds_partitioned_parquet_snap.item_1.i_item_sk
-| | | | runtime filters: RF023[min_max] <- tpcds_partitioned_parquet_snap.item_1.i_item_sk
+| | | | runtime filters: RF022[bloom] <- tpcds_partitioned_parquet_snap.item_1.i_item_sk, RF023[min_max] <- tpcds_partitioned_parquet_snap.item_1.i_item_sk
| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | |
| | | 103:EXCHANGE [BROADCAST]
@@ -3041,13 +3042,12 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | | | in pipelines: 08(GETNEXT)
| | | |
| | | F07:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | 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=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=4 segment-costs=[146628]
| | | 08:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | HDFS partitions=1/1 files=1 size=33.54MB
| | | predicates: tpcds_partitioned_parquet_snap.item_1.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_1.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_1.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_1.i_item_sk IS NOT NULL
-| | | runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_brand_id, RF016[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_category_id, RF017[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_class_id, RF012[bloom] -> tpcds_partitioned_parquet_snap.item_1.i_brand_id, RF013[bloom] -> tpcds_partitioned_parquet_snap.item_1.i_category_id, RF014[bloom] -> tpcds_partitioned_parquet_snap.item_1.i_class_id
+| | | runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_brand_id, RF016[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_category_id, RF017[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_class_id
| | | stored statistics:
| | | table: rows=360.00K size=33.54MB
| | | columns: all
@@ -3098,12 +3098,12 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | partition predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_sold_date_sk IS NOT NULL
| | HDFS partitions=1823/1824 files=1823 size=389.69GB
| | predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk IS NOT NULL
-| | runtime filters: RF023[min_max] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk
+| | runtime filters: RF023[min_max] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk, RF022[bloom] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk
| | stored statistics:
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=6 row-size=8B cardinality=8.21G(filtered from 8.25G) cost=1182183990
@@ -3121,6 +3121,7 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | in pipelines: 18(GETNEXT)
| |
| F01: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=33.50MB mem-reservation=5.12MB thread-reservation=1
| max-parallelism=530 segment-costs=[5225256796, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| 23:AGGREGATE [STREAMING]
@@ -3138,12 +3139,12 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | in pipelines: 18(GETNEXT), 21(OPEN)
| |
| |--F92:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | max-parallelism=10 segment-costs=[834572]
| | JOIN BUILD
| | | join-table-id=25 plan-id=26 cohort-id=08
| | | build expressions: tpcds_partitioned_parquet_snap.item_3.i_item_sk
-| | | runtime filters: RF019[min_max] <- tpcds_partitioned_parquet_snap.item_3.i_item_sk
+| | | runtime filters: RF018[bloom] <- tpcds_partitioned_parquet_snap.item_3.i_item_sk, RF019[min_max] <- tpcds_partitioned_parquet_snap.item_3.i_item_sk
| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | |
| | 99:EXCHANGE [BROADCAST]
@@ -3152,13 +3153,12 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | | in pipelines: 21(GETNEXT)
| | |
| | F03:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | 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=16.08MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=4 segment-costs=[146628]
| | 21:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | HDFS partitions=1/1 files=1 size=33.54MB
| | predicates: tpcds_partitioned_parquet_snap.item_3.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_3.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_3.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_3.i_item_sk IS NOT NULL
-| | runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_brand_id, RF016[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_category_id, RF017[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_class_id, RF012[bloom] -> tpcds_partitioned_parquet_snap.item_3.i_brand_id, RF013[bloom] -> tpcds_partitioned_parquet_snap.item_3.i_category_id, RF014[bloom] -> tpcds_partitioned_parquet_snap.item_3.i_class_id
+| | runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_brand_id, RF016[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_category_id, RF017[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_class_id
| | stored statistics:
| | table: rows=360.00K size=33.54MB
| | columns: all
@@ -3209,7 +3209,7 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| partition predicates: tpcds_partitioned_parquet_snap.web_sales.ws_sold_date_sk IS NOT NULL
| HDFS partitions=1823/1824 files=1823 size=145.67GB
| predicates: tpcds_partitioned_parquet_snap.web_sales.ws_item_sk IS NOT NULL
-| runtime filters: RF019[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk
+| runtime filters: RF019[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk, RF018[bloom] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk
| stored statistics:
| table: rows=2.16G size=145.75GB
| partitions: 1823/1823 rows=2.16G
@@ -3229,14 +3229,14 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=7(filtered from 1823)
+ extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=7(filtered from 1823)
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=2 row-size=16B cardinality=31.66M(filtered from 8.25G) cost=8184132
in pipelines: 01(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=5.83GB Threads=215
-Per-Host Resource Estimates: Memory=16.31GB
+Max Per-Host Resource Reservation: Memory=3.61GB Threads=219
+Per-Host Resource Estimates: Memory=8.06GB
ImpalaSortRel(sort0=[$1], sort1=[$2], sort2=[$3], dir0=[ASC], dir1=[ASC], dir2=[ASC], fetch=[100:TINYINT])
ImpalaProjectRel(CHANNEL=[CAST(_UTF-8'store':VARCHAR(2147483647) CHARACTER SET "UTF-8"):VARCHAR(2147483647) CHARACTER SET "UTF-8"], I_BRAND_ID=[$0], I_CLASS_ID=[$1], I_CATEGORY_ID=[$2], SALES=[$3], NUMBER_SALES=[$4], CHANNEL0=[CAST(_UTF-8'store':VARCHAR(2147483647) CHARACTER SET "UTF-8"):VARCHAR(2147483647) CHARACTER SET "UTF-8"], I_BRAND_ID0=[$6], I_CLASS_ID0=[$7], I_CATEGORY_ID0=[$8], SALES0=[$9], NUMBER_SALES0=[$10])
ImpalaJoinRel(condition=[AND(=($0, $6), =($1, $7), =($2, $8))], joinType=[inner])
@@ -3464,7 +3464,7 @@ ImpalaSortRel(sort0=[$1], sort1=[$2], sort2=[$3], dir0=[ASC], dir1=[ASC], dir2=[
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, date_dim]])
F66:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
| Per-Instance Resources: mem-estimate=4.06MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[1239] cpu-comparison-result=1038 [max(1 (self) vs 1038 (sum children))]
+| max-parallelism=1 segment-costs=[1239] cpu-comparison-result=1058 [max(1 (self) vs 1058 (sum children))]
PLAN-ROOT SINK
| output exprs: 'store', tpcds_partitioned_parquet_snap.item.i_brand_id, tpcds_partitioned_parquet_snap.item.i_class_id, tpcds_partitioned_parquet_snap.item.i_category_id, sum(multiply(tpcds_partitioned_parquet_snap.store_sales.ss_quantity, tpcds_partitioned_parquet_snap.store_sales.ss_list_price)), count(), 'store', tpcds_partitioned_parquet_snap.item_4.i_brand_id, tpcds_partitioned_parquet_snap.item_4.i_class_id, tpcds_partitioned_parquet_snap.item_4.i_category_id, sum(multiply(tpcds_ [...]
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=1200
@@ -3478,7 +3478,7 @@ PLAN-ROOT SINK
|
F23:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.item.i_brand_id,tpcds_partitioned_parquet_snap.item.i_class_id,tpcds_partitioned_parquet_snap.item.i_category_id)] hosts=4 instances=8 (adjusted from 4)
Per-Instance Resources: mem-estimate=20.27MB mem-reservation=1.94MB thread-reservation=1
-max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=1038 [max(8 (self) vs 1038 (sum children))]
+max-parallelism=8 segment-costs=[26214714, 73981498, 220] cpu-comparison-result=1058 [max(8 (self) vs 1058 (sum children))]
97:TOP-N [LIMIT=100]
| order by: tpcds_partitioned_parquet_snap.item.i_brand_id ASC NULLS LAST, tpcds_partitioned_parquet_snap.item.i_class_id ASC NULLS LAST, tpcds_partitioned_parquet_snap.item.i_category_id ASC NULLS LAST
| mem-estimate=7.03KB mem-reservation=0B thread-reservation=0
@@ -3495,7 +3495,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
|
|--F67:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.item.i_brand_id,tpcds_partitioned_parquet_snap.item.i_class_id,tpcds_partitioned_parquet_snap.item.i_category_id)] hosts=4 instances=8 (adjusted from 4)
| | Per-Instance Resources: mem-estimate=20.27MB mem-reservation=10.44MB thread-reservation=1
-| | max-parallelism=8 segment-costs=[26171763, 17967] cpu-comparison-result=519 [max(8 (self) vs 519 (sum children))]
+| | max-parallelism=8 segment-costs=[26214714, 17967] cpu-comparison-result=529 [max(8 (self) vs 529 (sum children))]
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
| | build expressions: tpcds_partitioned_parquet_snap.item_4.i_brand_id, tpcds_partitioned_parquet_snap.item_4.i_category_id, tpcds_partitioned_parquet_snap.item_4.i_class_id
@@ -3698,7 +3698,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=90 row-size=12B cardinality=8.25G cost=1425550548
| | in pipelines: 85(GETNEXT)
@@ -3708,23 +3708,23 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | group by: tpcds_partitioned_parquet_snap.item_4.i_brand_id, tpcds_partitioned_parquet_snap.item_4.i_class_id, tpcds_partitioned_parquet_snap.item_4.i_category_id
| | having: sum(multiply(tpcds_partitioned_parquet_snap.store_sales_2.ss_quantity, tpcds_partitioned_parquet_snap.store_sales_2.ss_list_price)) IS NOT NULL
| | mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
-| | tuple-ids=89 row-size=36B cardinality=14.91K cost=22071999
+| | tuple-ids=89 row-size=36B cardinality=14.91K cost=22108044
| | in pipelines: 155(GETNEXT), 49(OPEN)
| |
| 154:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_4.i_brand_id,tpcds_partitioned_parquet_snap.item_4.i_class_id,tpcds_partitioned_parquet_snap.item_4.i_category_id)]
| | mem-estimate=10.27MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=89 row-size=36B cardinality=14.82M cost=4099764
+| | tuple-ids=89 row-size=36B cardinality=14.84M cost=4106670
| | in pipelines: 49(GETNEXT)
| |
| F33:PLAN FRAGMENT [RANDOM] hosts=10 instances=7 (adjusted from 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=27.25MB mem-reservation=9.50MB thread-reservation=1
-| max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399 [max(7 (self) vs 399 (sum children))]
+| max-parallelism=7 segment-costs=[1651019150, 42055157] cpu-comparison-result=409 [max(7 (self) vs 409 (sum children))]
| 82:AGGREGATE [STREAMING]
| | output: sum(multiply(CAST(tpcds_partitioned_parquet_snap.store_sales_2.ss_quantity AS DECIMAL(10,0)), tpcds_partitioned_parquet_snap.store_sales_2.ss_list_price)), count()
| | group by: tpcds_partitioned_parquet_snap.item_4.i_brand_id, tpcds_partitioned_parquet_snap.item_4.i_class_id, tpcds_partitioned_parquet_snap.item_4.i_category_id
| | mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| | tuple-ids=89 row-size=36B cardinality=14.82M cost=112584174
+| | tuple-ids=89 row-size=36B cardinality=14.84M cost=112907667
| | in pipelines: 49(GETNEXT)
| |
| 81:HASH JOIN [INNER JOIN, BROADCAST]
@@ -3732,7 +3732,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk = tpcds_partitioned_parquet_snap.item_4.i_item_sk
| | fk/pk conjuncts: none
| | mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=55,84,85,87,53 row-size=60B cardinality=31.50M cost=13786904
+| | tuple-ids=55,84,85,87,53 row-size=60B cardinality=31.64M cost=13850694
| | in pipelines: 49(GETNEXT), 48(OPEN)
| |
| |--F72:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
@@ -3769,7 +3769,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_2.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_10.d_date_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=55,84,85,87 row-size=44B cardinality=31.50M cost=13828344
+| | tuple-ids=55,84,85,87 row-size=44B cardinality=31.64M cost=13854752
| | in pipelines: 49(GETNEXT), 76(OPEN)
| |
| |--F73:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
@@ -3862,62 +3862,62 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | hash predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk = tpcds_partitioned_parquet_snap.item_5.i_item_sk
| | fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk = tpcds_partitioned_parquet_snap.item_5.i_item_sk
| | mem-estimate=0B mem-reservation=0B spill-buffer=1.00MB thread-reservation=0
-| | tuple-ids=55,84 row-size=20B cardinality=31.66M(filtered from 8.21G) cost=1495340740
+| | tuple-ids=55,84 row-size=20B cardinality=31.66M(filtered from 8.25G) cost=1502221905
| | in pipelines: 49(GETNEXT), 148(OPEN)
| |
| |--F75:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | | Per-Instance Resources: mem-estimate=18.45MB mem-reservation=17.00MB thread-reservation=1
-| | | max-parallelism=10 segment-costs=[834572] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| | | max-parallelism=10 segment-costs=[838440] cpu-comparison-result=384 [max(10 (self) vs 384 (sum children))]
| | JOIN BUILD
| | | join-table-id=08 plan-id=09 cohort-id=02
| | | build expressions: tpcds_partitioned_parquet_snap.item_5.i_item_sk
| | | runtime filters: RF043[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_item_sk
-| | | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0 cost=358342
+| | | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0 cost=360000
| | |
| | 149:EXCHANGE [BROADCAST]
| | | mem-estimate=1.45MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=84 row-size=4B cardinality=358.34K cost=476230
+| | | tuple-ids=84 row-size=4B cardinality=360.00K cost=478440
| | | in pipelines: 148(GETNEXT)
| | |
| | F51:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.item_5.i_item_sk)] hosts=10 instances=10 (adjusted from 120)
-| | Per-Instance Resources: mem-estimate=10.21MB mem-reservation=1.94MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[1085489, 11610] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| | Per-Instance Resources: mem-estimate=20.16MB mem-reservation=1.94MB thread-reservation=1
+| | max-parallelism=10 segment-costs=[14333935, 11664] cpu-comparison-result=384 [max(10 (self) vs 384 (sum children))]
| | 148:AGGREGATE [FINALIZE]
| | | group by: tpcds_partitioned_parquet_snap.item_5.i_item_sk
| | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-| | | tuple-ids=84 row-size=4B cardinality=358.34K cost=1039084
+| | | tuple-ids=84 row-size=4B cardinality=360.00K cost=10223279
| | | in pipelines: 148(GETNEXT), 145(OPEN)
| | |
| | 147:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_5.i_item_sk)]
-| | | mem-estimate=219.98KB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=84 row-size=4B cardinality=358.34K cost=46405
+| | | mem-estimate=10.16MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=84 row-size=4B cardinality=31.74M cost=4110656
| | | in pipelines: 145(GETNEXT)
| | |
-| | F49:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| | Per-Instance Resources: mem-estimate=141.67MB mem-reservation=36.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[2731445, 1218763, 276926] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| | F49:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=20 (adjusted from 120)
+| | Per-Instance Resources: mem-estimate=23.38MB mem-reservation=10.94MB thread-reservation=1
+| | max-parallelism=20 segment-costs=[1820963, 109995052, 24530619] cpu-comparison-result=384 [max(20 (self) vs 384 (sum children))]
| | 74:AGGREGATE [STREAMING]
| | | group by: tpcds_partitioned_parquet_snap.item_5.i_item_sk
-| | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | | tuple-ids=84 row-size=4B cardinality=358.34K cost=1039084
+| | | mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
+| | | tuple-ids=84 row-size=4B cardinality=31.74M cost=99529503
| | | in pipelines: 145(GETNEXT)
| | |
| | 73:HASH JOIN [INNER JOIN, PARTITIONED]
| | | hash-table-id=09
| | | hash predicates: BRAND_ID = tpcds_partitioned_parquet_snap.item_5.i_brand_id, CATEGORY_ID = tpcds_partitioned_parquet_snap.item_5.i_category_id, CLASS_ID = tpcds_partitioned_parquet_snap.item_5.i_class_id
| | | fk/pk conjuncts: assumed fk/pk
-| | | mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-| | | tuple-ids=83,57 row-size=36B cardinality=358.34K cost=179679
+| | | mem-estimate=0B mem-reservation=0B spill-buffer=128.00KB thread-reservation=0
+| | | tuple-ids=83,57 row-size=36B cardinality=57.33M cost=10465549
| | | in pipelines: 145(GETNEXT), 50(OPEN)
| | |
-| | |--F76:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| | | | Per-Instance Resources: mem-estimate=9.20MB mem-reservation=7.75MB thread-reservation=1 runtime-filters-memory=3.00MB
-| | | | max-parallelism=10 segment-costs=[424527]
+| | |--F76:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=20 (adjusted from 120)
+| | | | Per-Instance Resources: mem-estimate=4.32MB mem-reservation=2.88MB thread-reservation=1
+| | | | max-parallelism=20 segment-costs=[424527]
| | | JOIN BUILD
| | | | join-table-id=09 plan-id=10 cohort-id=05
| | | | build expressions: tpcds_partitioned_parquet_snap.item_5.i_brand_id, tpcds_partitioned_parquet_snap.item_5.i_category_id, tpcds_partitioned_parquet_snap.item_5.i_class_id
-| | | | runtime filters: RF044[bloom] <- tpcds_partitioned_parquet_snap.item_5.i_brand_id, RF045[bloom] <- tpcds_partitioned_parquet_snap.item_5.i_category_id, RF046[bloom] <- tpcds_partitioned_parquet_snap.item_5.i_class_id, RF047[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_brand_id, RF048[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_category_id, RF049[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_class_id
-| | | | mem-estimate=4.75MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0 cost=358342
+| | | | runtime filters: RF047[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_brand_id, RF048[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_category_id, RF049[min_max] <- tpcds_partitioned_parquet_snap.item_5.i_class_id
+| | | | mem-estimate=2.88MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0 cost=358342
| | | |
| | | 146:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_5.i_brand_id,tpcds_partitioned_parquet_snap.item_5.i_class_id,tpcds_partitioned_parquet_snap.item_5.i_category_id)]
| | | | mem-estimate=1.45MB mem-reservation=0B thread-reservation=0
@@ -3925,7 +3925,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | | in pipelines: 50(GETNEXT)
| | | |
| | | F50:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | Per-Instance Resources: mem-estimate=16.78MB mem-reservation=512.00KB thread-reservation=1
+| | | Per-Instance Resources: mem-estimate=17.56MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=4 segment-costs=[677261]
| | | 50:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | HDFS partitions=1/1 files=1 size=33.54MB
@@ -3944,52 +3944,52 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | output: count:merge()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | having: count() = CAST(2 AS BIGINT)
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=83 row-size=20B cardinality=447.36K cost=2640587
+| | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=83 row-size=20B cardinality=298.24K cost=1760391
| | | in pipelines: 145(GETNEXT), 133(OPEN), 143(OPEN)
| | |
| | 144:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
-| | | mem-estimate=3.67MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=83 row-size=20B cardinality=447.36K cost=90858
+| | | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
+| | | tuple-ids=83 row-size=20B cardinality=298.24K cost=60572
| | | in pipelines: 133(GETNEXT), 143(GETNEXT)
| | |
| | F48:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| | Per-Instance Resources: mem-estimate=260.32MB mem-reservation=68.00MB thread-reservation=1
-| | max-parallelism=120 segment-costs=[28239822, 1820963, 2659596, 806679] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+| | Per-Instance Resources: mem-estimate=33.75MB mem-reservation=6.75MB thread-reservation=1
+| | max-parallelism=120 segment-costs=[28239822, 1142014, 1769895, 537786] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
| | 72:AGGREGATE [STREAMING]
| | | output: count()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=83 row-size=20B cardinality=447.36K cost=2640587
+| | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=83 row-size=20B cardinality=298.24K cost=1760391
| | | in pipelines: 133(GETNEXT), 143(GETNEXT)
| | |
| | 51:UNION
| | | pass-through-operands: 133
| | | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | | tuple-ids=82 row-size=12B cardinality=447.36K cost=19009
+| | | tuple-ids=82 row-size=12B cardinality=298.24K cost=9504
| | | in pipelines: 133(GETNEXT), 143(GETNEXT)
| | |
| | |--143:AGGREGATE [FINALIZE]
| | | | output: count:merge()
| | | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | | having: count() = CAST(2 AS BIGINT)
-| | | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | | tuple-ids=74 row-size=20B cardinality=298.24K cost=1760391
+| | | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | | | tuple-ids=74 row-size=20B cardinality=149.12K cost=1081913
| | | | in pipelines: 143(GETNEXT), 137(OPEN), 141(OPEN)
| | | |
| | | 142:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
| | | | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
-| | | | tuple-ids=74 row-size=20B cardinality=298.24K cost=60572
+| | | | tuple-ids=74 row-size=20B cardinality=295.92K cost=60101
| | | | in pipelines: 137(GETNEXT), 141(GETNEXT)
| | | |
| | | F46:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| | | Per-Instance Resources: mem-estimate=161.12MB mem-reservation=38.75MB thread-reservation=1
-| | | max-parallelism=120 segment-costs=[28239822, 28239822, 1760391, 537786] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
+| | | Per-Instance Resources: mem-estimate=43.12MB mem-reservation=6.75MB thread-reservation=1
+| | | max-parallelism=120 segment-costs=[28239822, 28239822, 1749885, 533602] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
| | | 65:AGGREGATE [STREAMING]
| | | | output: count()
| | | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | | tuple-ids=74 row-size=20B cardinality=298.24K cost=1760391
+| | | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | | | tuple-ids=74 row-size=20B cardinality=295.92K cost=1749885
| | | | in pipelines: 137(GETNEXT), 141(GETNEXT)
| | | |
| | | 52:UNION
@@ -4010,6 +4010,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | | | in pipelines: 59(GETNEXT)
| | | | |
| | | | F42: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=33.50MB mem-reservation=5.25MB thread-reservation=1
| | | | max-parallelism=1040 segment-costs=[10321261528, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | | | 64:AGGREGATE [STREAMING]
@@ -4027,12 +4028,12 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | | | in pipelines: 59(GETNEXT), 62(OPEN)
| | | | |
| | | | |--F81:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | | | max-parallelism=10 segment-costs=[834572]
| | | | | JOIN BUILD
| | | | | | join-table-id=14 plan-id=15 cohort-id=05
| | | | | | build expressions: tpcds_partitioned_parquet_snap.item_7.i_item_sk
-| | | | | | runtime filters: RF059[min_max] <- tpcds_partitioned_parquet_snap.item_7.i_item_sk
+| | | | | | runtime filters: RF058[bloom] <- tpcds_partitioned_parquet_snap.item_7.i_item_sk, RF059[min_max] <- tpcds_partitioned_parquet_snap.item_7.i_item_sk
| | | | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | | | |
| | | | | 139:EXCHANGE [BROADCAST]
@@ -4041,13 +4042,12 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | | | | in pipelines: 62(GETNEXT)
| | | | | |
| | | | | F44:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | | | 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=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | | | max-parallelism=4 segment-costs=[146628]
| | | | | 62:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | | predicates: tpcds_partitioned_parquet_snap.item_7.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_7.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_7.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_7.i_item_sk IS NOT NULL
-| | | | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_brand_id, RF048[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_category_id, RF049[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_class_id, RF044[bloom] -> tpcds_partitioned_parquet_snap.item_7.i_brand_id, RF045[bloom] -> tpcds_partitioned_parquet_snap.item_7.i_category_id, RF046[bloom] -> tpcds_partitioned_parquet_snap.item_7.i_class_id
+| | | | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_brand_id, RF048[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_category_id, RF049[min_max] -> tpcds_partitioned_parquet_snap.item_7.i_class_id
| | | | | stored statistics:
| | | | | table: rows=360.00K size=33.54MB
| | | | | columns: all
@@ -4098,7 +4098,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | | partition predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_sold_date_sk IS NOT NULL
| | | | HDFS partitions=1830/1831 files=1830 size=280.81GB
| | | | predicates: tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk IS NOT NULL
-| | | | runtime filters: RF059[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk
+| | | | runtime filters: RF059[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk, RF058[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales_1.cs_item_sk
| | | | stored statistics:
| | | | table: rows=4.32G size=280.96GB
| | | | partitions: 1830/1830 rows=4.30G
@@ -4121,6 +4121,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | | in pipelines: 53(GETNEXT)
| | | |
| | | F38: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=33.50MB mem-reservation=5.50MB thread-reservation=1
| | | max-parallelism=1823 segment-costs=[19733878056, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | | 58:AGGREGATE [STREAMING]
@@ -4138,12 +4139,12 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | | in pipelines: 53(GETNEXT), 56(OPEN)
| | | |
| | | |--F79:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | | max-parallelism=10 segment-costs=[834572]
| | | | JOIN BUILD
| | | | | join-table-id=12 plan-id=13 cohort-id=05
| | | | | build expressions: tpcds_partitioned_parquet_snap.item_6.i_item_sk
-| | | | | runtime filters: RF055[min_max] <- tpcds_partitioned_parquet_snap.item_6.i_item_sk
+| | | | | runtime filters: RF054[bloom] <- tpcds_partitioned_parquet_snap.item_6.i_item_sk, RF055[min_max] <- tpcds_partitioned_parquet_snap.item_6.i_item_sk
| | | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | | |
| | | | 135:EXCHANGE [BROADCAST]
@@ -4152,13 +4153,12 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | | | in pipelines: 56(GETNEXT)
| | | | |
| | | | F40:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | | 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=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=4 segment-costs=[146628]
| | | | 56:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | predicates: tpcds_partitioned_parquet_snap.item_6.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_6.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_6.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_6.i_item_sk IS NOT NULL
-| | | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_brand_id, RF048[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_category_id, RF049[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_class_id, RF044[bloom] -> tpcds_partitioned_parquet_snap.item_6.i_brand_id, RF045[bloom] -> tpcds_partitioned_parquet_snap.item_6.i_category_id, RF046[bloom] -> tpcds_partitioned_parquet_snap.item_6.i_class_id
+| | | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_brand_id, RF048[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_category_id, RF049[min_max] -> tpcds_partitioned_parquet_snap.item_6.i_class_id
| | | | stored statistics:
| | | | table: rows=360.00K size=33.54MB
| | | | columns: all
@@ -4209,12 +4209,12 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | partition predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_sold_date_sk IS NOT NULL
| | | HDFS partitions=1823/1824 files=1823 size=389.69GB
| | | predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_item_sk IS NOT NULL
-| | | runtime filters: RF055[min_max] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_item_sk
+| | | runtime filters: RF055[min_max] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_item_sk, RF054[bloom] -> tpcds_partitioned_parquet_snap.store_sales_3.ss_item_sk
| | | stored statistics:
| | | table: rows=8.64G size=389.90GB
| | | partitions: 1823/1823 rows=8.25G
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_item_sk IS NOT NULL
| | | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | | tuple-ids=59 row-size=8B cardinality=8.21G(filtered from 8.25G) cost=1182183990
@@ -4232,6 +4232,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | in pipelines: 66(GETNEXT)
| | |
| | F34: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=33.50MB mem-reservation=5.12MB thread-reservation=1
| | max-parallelism=530 segment-costs=[5225256796, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | 71:AGGREGATE [STREAMING]
@@ -4249,12 +4250,12 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | in pipelines: 66(GETNEXT), 69(OPEN)
| | |
| | |--F77:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | max-parallelism=10 segment-costs=[834572]
| | | JOIN BUILD
| | | | join-table-id=10 plan-id=11 cohort-id=05
| | | | build expressions: tpcds_partitioned_parquet_snap.item_8.i_item_sk
-| | | | runtime filters: RF051[min_max] <- tpcds_partitioned_parquet_snap.item_8.i_item_sk
+| | | | runtime filters: RF050[bloom] <- tpcds_partitioned_parquet_snap.item_8.i_item_sk, RF051[min_max] <- tpcds_partitioned_parquet_snap.item_8.i_item_sk
| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | |
| | | 131:EXCHANGE [BROADCAST]
@@ -4263,13 +4264,12 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | | | in pipelines: 69(GETNEXT)
| | | |
| | | F36:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | 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=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=4 segment-costs=[146628]
| | | 69:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | HDFS partitions=1/1 files=1 size=33.54MB
| | | predicates: tpcds_partitioned_parquet_snap.item_8.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_8.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_8.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_8.i_item_sk IS NOT NULL
-| | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_brand_id, RF048[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_category_id, RF049[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_class_id, RF044[bloom] -> tpcds_partitioned_parquet_snap.item_8.i_brand_id, RF045[bloom] -> tpcds_partitioned_parquet_snap.item_8.i_category_id, RF046[bloom] -> tpcds_partitioned_parquet_snap.item_8.i_class_id
+| | | runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_brand_id, RF048[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_category_id, RF049[min_max] -> tpcds_partitioned_parquet_snap.item_8.i_class_id
| | | stored statistics:
| | | table: rows=360.00K size=33.54MB
| | | columns: all
@@ -4320,7 +4320,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| | partition predicates: tpcds_partitioned_parquet_snap.web_sales_1.ws_sold_date_sk IS NOT NULL
| | HDFS partitions=1823/1824 files=1823 size=145.67GB
| | predicates: tpcds_partitioned_parquet_snap.web_sales_1.ws_item_sk IS NOT NULL
-| | runtime filters: RF051[min_max] -> tpcds_partitioned_parquet_snap.web_sales_1.ws_item_sk
+| | runtime filters: RF051[min_max] -> tpcds_partitioned_parquet_snap.web_sales_1.ws_item_sk, RF050[bloom] -> tpcds_partitioned_parquet_snap.web_sales_1.ws_item_sk
| | stored statistics:
| | table: rows=2.16G size=145.75GB
| | partitions: 1823/1823 rows=2.16G
@@ -4340,7 +4340,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=7(filtered from 1823)
+| extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=7(filtered from 1823)
| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_2.ss_item_sk IS NOT NULL
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=55 row-size=16B cardinality=31.66M(filtered from 8.25G) cost=8184132
@@ -4542,7 +4542,7 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M
+| extrapolated-rows=disabled max-scan-range-rows=12.31M
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=37 row-size=12B cardinality=8.25G cost=1425550548
| in pipelines: 37(GETNEXT)
@@ -4552,23 +4552,23 @@ max-parallelism=8 segment-costs=[26171763, 73981498, 220] cpu-comparison-result=
| group by: tpcds_partitioned_parquet_snap.item.i_brand_id, tpcds_partitioned_parquet_snap.item.i_class_id, tpcds_partitioned_parquet_snap.item.i_category_id
| having: sum(multiply(tpcds_partitioned_parquet_snap.store_sales.ss_quantity, tpcds_partitioned_parquet_snap.store_sales.ss_list_price)) IS NOT NULL
| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=36 row-size=36B cardinality=14.91K cost=22071999
+| tuple-ids=36 row-size=36B cardinality=14.91K cost=22108044
| in pipelines: 123(GETNEXT), 01(OPEN)
|
122:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item.i_brand_id,tpcds_partitioned_parquet_snap.item.i_class_id,tpcds_partitioned_parquet_snap.item.i_category_id)]
| mem-estimate=10.27MB mem-reservation=0B thread-reservation=0
-| tuple-ids=36 row-size=36B cardinality=14.82M cost=4099764
+| tuple-ids=36 row-size=36B cardinality=14.84M cost=4106670
| in pipelines: 01(GETNEXT)
|
F00:PLAN FRAGMENT [RANDOM] hosts=10 instances=7 (adjusted from 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=27.25MB mem-reservation=9.50MB thread-reservation=1
-max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399 [max(7 (self) vs 399 (sum children))]
+max-parallelism=7 segment-costs=[1651019150, 42055157] cpu-comparison-result=409 [max(7 (self) vs 409 (sum children))]
34:AGGREGATE [STREAMING]
| output: sum(multiply(CAST(tpcds_partitioned_parquet_snap.store_sales.ss_quantity AS DECIMAL(10,0)), tpcds_partitioned_parquet_snap.store_sales.ss_list_price)), count()
| group by: tpcds_partitioned_parquet_snap.item.i_brand_id, tpcds_partitioned_parquet_snap.item.i_class_id, tpcds_partitioned_parquet_snap.item.i_category_id
| mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-| tuple-ids=36 row-size=36B cardinality=14.82M cost=112584174
+| tuple-ids=36 row-size=36B cardinality=14.84M cost=112907667
| in pipelines: 01(GETNEXT)
|
33:HASH JOIN [INNER JOIN, BROADCAST]
@@ -4576,7 +4576,7 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
| fk/pk conjuncts: none
| mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=2,31,32,34,0 row-size=60B cardinality=31.50M cost=13786904
+| tuple-ids=2,31,32,34,0 row-size=60B cardinality=31.64M cost=13850694
| in pipelines: 01(GETNEXT), 00(OPEN)
|
|--F87:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
@@ -4614,7 +4614,7 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_sold_date_sk = tpcds_partitioned_parquet_snap.date_dim_2.d_date_sk
| mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-| tuple-ids=2,31,32,34 row-size=44B cardinality=31.50M cost=13828344
+| tuple-ids=2,31,32,34 row-size=44B cardinality=31.64M cost=13854752
| in pipelines: 01(GETNEXT), 28(OPEN)
|
|--F88:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
@@ -4707,62 +4707,62 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| hash predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item_0.i_item_sk
| fk/pk conjuncts: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk = tpcds_partitioned_parquet_snap.item_0.i_item_sk
| mem-estimate=0B mem-reservation=0B spill-buffer=1.00MB thread-reservation=0
-| tuple-ids=2,31 row-size=20B cardinality=31.66M(filtered from 8.21G) cost=1495340740
+| tuple-ids=2,31 row-size=20B cardinality=31.66M(filtered from 8.25G) cost=1502221905
| in pipelines: 01(GETNEXT), 116(OPEN)
|
|--F90:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
| | Per-Instance Resources: mem-estimate=18.45MB mem-reservation=17.00MB thread-reservation=1
-| | max-parallelism=10 segment-costs=[834572] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| | max-parallelism=10 segment-costs=[838440] cpu-comparison-result=384 [max(10 (self) vs 384 (sum children))]
| JOIN BUILD
| | join-table-id=23 plan-id=24 cohort-id=01
| | build expressions: tpcds_partitioned_parquet_snap.item_0.i_item_sk
| | runtime filters: RF011[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_item_sk
-| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0 cost=358342
+| | mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0 cost=360000
| |
| 117:EXCHANGE [BROADCAST]
| | mem-estimate=1.45MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=31 row-size=4B cardinality=358.34K cost=476230
+| | tuple-ids=31 row-size=4B cardinality=360.00K cost=478440
| | in pipelines: 116(GETNEXT)
| |
| F18:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.item_0.i_item_sk)] hosts=10 instances=10 (adjusted from 120)
-| Per-Instance Resources: mem-estimate=10.21MB mem-reservation=1.94MB thread-reservation=1
-| max-parallelism=10 segment-costs=[1085489, 11610] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| Per-Instance Resources: mem-estimate=20.16MB mem-reservation=1.94MB thread-reservation=1
+| max-parallelism=10 segment-costs=[14333935, 11664] cpu-comparison-result=384 [max(10 (self) vs 384 (sum children))]
| 116:AGGREGATE [FINALIZE]
| | group by: tpcds_partitioned_parquet_snap.item_0.i_item_sk
| | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=31 row-size=4B cardinality=358.34K cost=1039084
+| | tuple-ids=31 row-size=4B cardinality=360.00K cost=10223279
| | in pipelines: 116(GETNEXT), 113(OPEN)
| |
| 115:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_0.i_item_sk)]
-| | mem-estimate=219.98KB mem-reservation=0B thread-reservation=0
-| | tuple-ids=31 row-size=4B cardinality=358.34K cost=46405
+| | mem-estimate=10.16MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=31 row-size=4B cardinality=31.74M cost=4110656
| | in pipelines: 113(GETNEXT)
| |
-| F16:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| Per-Instance Resources: mem-estimate=141.67MB mem-reservation=36.00MB thread-reservation=1
-| max-parallelism=10 segment-costs=[2731445, 1218763, 276926] cpu-comparison-result=374 [max(10 (self) vs 374 (sum children))]
+| F16:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=20 (adjusted from 120)
+| Per-Instance Resources: mem-estimate=23.38MB mem-reservation=10.94MB thread-reservation=1
+| max-parallelism=20 segment-costs=[1820963, 109995052, 24530619] cpu-comparison-result=384 [max(20 (self) vs 384 (sum children))]
| 26:AGGREGATE [STREAMING]
| | group by: tpcds_partitioned_parquet_snap.item_0.i_item_sk
-| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-| | tuple-ids=31 row-size=4B cardinality=358.34K cost=1039084
+| | mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
+| | tuple-ids=31 row-size=4B cardinality=31.74M cost=99529503
| | in pipelines: 113(GETNEXT)
| |
| 25:HASH JOIN [INNER JOIN, PARTITIONED]
| | hash-table-id=24
| | hash predicates: BRAND_ID = tpcds_partitioned_parquet_snap.item_0.i_brand_id, CATEGORY_ID = tpcds_partitioned_parquet_snap.item_0.i_category_id, CLASS_ID = tpcds_partitioned_parquet_snap.item_0.i_class_id
| | fk/pk conjuncts: assumed fk/pk
-| | mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-| | tuple-ids=30,4 row-size=36B cardinality=358.34K cost=179679
+| | mem-estimate=0B mem-reservation=0B spill-buffer=128.00KB thread-reservation=0
+| | tuple-ids=30,4 row-size=36B cardinality=57.33M cost=10465549
| | in pipelines: 113(GETNEXT), 02(OPEN)
| |
-| |--F91:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=10 (adjusted from 120)
-| | | Per-Instance Resources: mem-estimate=9.20MB mem-reservation=7.75MB thread-reservation=1 runtime-filters-memory=3.00MB
-| | | max-parallelism=10 segment-costs=[424527]
+| |--F91:PLAN FRAGMENT [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)] hosts=10 instances=20 (adjusted from 120)
+| | | Per-Instance Resources: mem-estimate=4.32MB mem-reservation=2.88MB thread-reservation=1
+| | | max-parallelism=20 segment-costs=[424527]
| | JOIN BUILD
| | | join-table-id=24 plan-id=25 cohort-id=08
| | | build expressions: tpcds_partitioned_parquet_snap.item_0.i_brand_id, tpcds_partitioned_parquet_snap.item_0.i_category_id, tpcds_partitioned_parquet_snap.item_0.i_class_id
-| | | runtime filters: RF012[bloom] <- tpcds_partitioned_parquet_snap.item_0.i_brand_id, RF013[bloom] <- tpcds_partitioned_parquet_snap.item_0.i_category_id, RF014[bloom] <- tpcds_partitioned_parquet_snap.item_0.i_class_id, RF015[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_brand_id, RF016[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_category_id, RF017[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_class_id
-| | | mem-estimate=4.75MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0 cost=358342
+| | | runtime filters: RF015[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_brand_id, RF016[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_category_id, RF017[min_max] <- tpcds_partitioned_parquet_snap.item_0.i_class_id
+| | | mem-estimate=2.88MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0 cost=358342
| | |
| | 114:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item_0.i_brand_id,tpcds_partitioned_parquet_snap.item_0.i_class_id,tpcds_partitioned_parquet_snap.item_0.i_category_id)]
| | | mem-estimate=1.45MB mem-reservation=0B thread-reservation=0
@@ -4770,7 +4770,7 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | | in pipelines: 02(GETNEXT)
| | |
| | F17:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | Per-Instance Resources: mem-estimate=16.78MB mem-reservation=512.00KB thread-reservation=1
+| | Per-Instance Resources: mem-estimate=17.56MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=4 segment-costs=[677261]
| | 02:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | HDFS partitions=1/1 files=1 size=33.54MB
@@ -4789,52 +4789,52 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | output: count:merge()
| | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | having: count() = CAST(2 AS BIGINT)
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=30 row-size=20B cardinality=447.36K cost=2640587
+| | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | tuple-ids=30 row-size=20B cardinality=298.24K cost=1760391
| | in pipelines: 113(GETNEXT), 101(OPEN), 111(OPEN)
| |
| 112:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
-| | mem-estimate=3.67MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=30 row-size=20B cardinality=447.36K cost=90858
+| | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=30 row-size=20B cardinality=298.24K cost=60572
| | in pipelines: 101(GETNEXT), 111(GETNEXT)
| |
| F15:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| Per-Instance Resources: mem-estimate=260.32MB mem-reservation=68.00MB thread-reservation=1
-| max-parallelism=120 segment-costs=[28239822, 1820963, 2659596, 806679] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+| Per-Instance Resources: mem-estimate=33.75MB mem-reservation=6.75MB thread-reservation=1
+| max-parallelism=120 segment-costs=[28239822, 1142014, 1769895, 537786] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
| 24:AGGREGATE [STREAMING]
| | output: count()
| | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=30 row-size=20B cardinality=447.36K cost=2640587
+| | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | tuple-ids=30 row-size=20B cardinality=298.24K cost=1760391
| | in pipelines: 101(GETNEXT), 111(GETNEXT)
| |
| 03:UNION
| | pass-through-operands: 101
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=29 row-size=12B cardinality=447.36K cost=19009
+| | tuple-ids=29 row-size=12B cardinality=298.24K cost=9504
| | in pipelines: 101(GETNEXT), 111(GETNEXT)
| |
| |--111:AGGREGATE [FINALIZE]
| | | output: count:merge()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
| | | having: count() = CAST(2 AS BIGINT)
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=21 row-size=20B cardinality=298.24K cost=1760391
+| | | mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=21 row-size=20B cardinality=149.12K cost=1081913
| | | in pipelines: 111(GETNEXT), 105(OPEN), 109(OPEN)
| | |
| | 110:EXCHANGE [HASH(BRAND_ID,CLASS_ID,CATEGORY_ID)]
| | | mem-estimate=3.38MB mem-reservation=0B thread-reservation=0
-| | | tuple-ids=21 row-size=20B cardinality=298.24K cost=60572
+| | | tuple-ids=21 row-size=20B cardinality=295.92K cost=60101
| | | in pipelines: 105(GETNEXT), 109(GETNEXT)
| | |
| | F13:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| | Per-Instance Resources: mem-estimate=161.12MB mem-reservation=38.75MB thread-reservation=1
-| | max-parallelism=120 segment-costs=[28239822, 28239822, 1760391, 537786] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
+| | Per-Instance Resources: mem-estimate=43.12MB mem-reservation=6.75MB thread-reservation=1
+| | max-parallelism=120 segment-costs=[28239822, 28239822, 1749885, 533602] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
| | 17:AGGREGATE [STREAMING]
| | | output: count()
| | | group by: BRAND_ID, CLASS_ID, CATEGORY_ID
-| | | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | | tuple-ids=21 row-size=20B cardinality=298.24K cost=1760391
+| | | mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| | | tuple-ids=21 row-size=20B cardinality=295.92K cost=1749885
| | | in pipelines: 105(GETNEXT), 109(GETNEXT)
| | |
| | 04:UNION
@@ -4855,6 +4855,7 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | | | in pipelines: 11(GETNEXT)
| | | |
| | | F09: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=33.50MB mem-reservation=5.25MB thread-reservation=1
| | | max-parallelism=1040 segment-costs=[10321261528, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | | 16:AGGREGATE [STREAMING]
@@ -4872,12 +4873,12 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | | | in pipelines: 11(GETNEXT), 14(OPEN)
| | | |
| | | |--F96:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | | max-parallelism=10 segment-costs=[834572]
| | | | JOIN BUILD
| | | | | join-table-id=29 plan-id=30 cohort-id=08
| | | | | build expressions: tpcds_partitioned_parquet_snap.item_2.i_item_sk
-| | | | | runtime filters: RF027[min_max] <- tpcds_partitioned_parquet_snap.item_2.i_item_sk
+| | | | | runtime filters: RF026[bloom] <- tpcds_partitioned_parquet_snap.item_2.i_item_sk, RF027[min_max] <- tpcds_partitioned_parquet_snap.item_2.i_item_sk
| | | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | | |
| | | | 107:EXCHANGE [BROADCAST]
@@ -4886,13 +4887,12 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | | | | in pipelines: 14(GETNEXT)
| | | | |
| | | | F11:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | | 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=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | | max-parallelism=4 segment-costs=[146628]
| | | | 14:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | | HDFS partitions=1/1 files=1 size=33.54MB
| | | | predicates: tpcds_partitioned_parquet_snap.item_2.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_2.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_2.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_2.i_item_sk IS NOT NULL
-| | | | runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_brand_id, RF016[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_category_id, RF017[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_class_id, RF012[bloom] -> tpcds_partitioned_parquet_snap.item_2.i_brand_id, RF013[bloom] -> tpcds_partitioned_parquet_snap.item_2.i_category_id, RF014[bloom] -> tpcds_partitioned_parquet_snap.item_2.i_class_id
+| | | | runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_brand_id, RF016[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_category_id, RF017[min_max] -> tpcds_partitioned_parquet_snap.item_2.i_class_id
| | | | stored statistics:
| | | | table: rows=360.00K size=33.54MB
| | | | columns: all
@@ -4943,7 +4943,7 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | | partition predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_sold_date_sk IS NOT NULL
| | | HDFS partitions=1830/1831 files=1830 size=280.81GB
| | | predicates: tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk IS NOT NULL
-| | | runtime filters: RF027[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk
+| | | runtime filters: RF027[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk, RF026[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk
| | | stored statistics:
| | | table: rows=4.32G size=280.96GB
| | | partitions: 1830/1830 rows=4.30G
@@ -4966,6 +4966,7 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | | in pipelines: 05(GETNEXT)
| | |
| | F05: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=33.50MB mem-reservation=5.50MB thread-reservation=1
| | max-parallelism=1823 segment-costs=[19733878056, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| | 10:AGGREGATE [STREAMING]
@@ -4983,12 +4984,12 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | | in pipelines: 05(GETNEXT), 08(OPEN)
| | |
| | |--F94:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | | max-parallelism=10 segment-costs=[834572]
| | | JOIN BUILD
| | | | join-table-id=27 plan-id=28 cohort-id=08
| | | | build expressions: tpcds_partitioned_parquet_snap.item_1.i_item_sk
-| | | | runtime filters: RF023[min_max] <- tpcds_partitioned_parquet_snap.item_1.i_item_sk
+| | | | runtime filters: RF022[bloom] <- tpcds_partitioned_parquet_snap.item_1.i_item_sk, RF023[min_max] <- tpcds_partitioned_parquet_snap.item_1.i_item_sk
| | | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | | |
| | | 103:EXCHANGE [BROADCAST]
@@ -4997,13 +4998,12 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | | | in pipelines: 08(GETNEXT)
| | | |
| | | F07:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | | 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=16.08MB mem-reservation=512.00KB thread-reservation=1
| | | max-parallelism=4 segment-costs=[146628]
| | | 08:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | | HDFS partitions=1/1 files=1 size=33.54MB
| | | predicates: tpcds_partitioned_parquet_snap.item_1.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_1.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_1.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_1.i_item_sk IS NOT NULL
-| | | runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_brand_id, RF016[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_category_id, RF017[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_class_id, RF012[bloom] -> tpcds_partitioned_parquet_snap.item_1.i_brand_id, RF013[bloom] -> tpcds_partitioned_parquet_snap.item_1.i_category_id, RF014[bloom] -> tpcds_partitioned_parquet_snap.item_1.i_class_id
+| | | runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_brand_id, RF016[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_category_id, RF017[min_max] -> tpcds_partitioned_parquet_snap.item_1.i_class_id
| | | stored statistics:
| | | table: rows=360.00K size=33.54MB
| | | columns: all
@@ -5054,12 +5054,12 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | partition predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_sold_date_sk IS NOT NULL
| | HDFS partitions=1823/1824 files=1823 size=389.69GB
| | predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk IS NOT NULL
-| | runtime filters: RF023[min_max] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk
+| | runtime filters: RF023[min_max] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk, RF022[bloom] -> tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk
| | stored statistics:
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=6 row-size=8B cardinality=8.21G(filtered from 8.25G) cost=1182183990
@@ -5077,6 +5077,7 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | in pipelines: 18(GETNEXT)
| |
| F01: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=33.50MB mem-reservation=5.12MB thread-reservation=1
| max-parallelism=530 segment-costs=[5225256796, 23047987] cpu-comparison-result=120 [max(120 (self) vs 25 (sum children))]
| 23:AGGREGATE [STREAMING]
@@ -5094,12 +5095,12 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | in pipelines: 18(GETNEXT), 21(OPEN)
| |
| |--F92:PLAN FRAGMENT [RANDOM] hosts=10 instances=10
-| | | Per-Instance Resources: mem-estimate=413.55MB mem-reservation=408.00MB thread-reservation=1
+| | | Per-Instance Resources: mem-estimate=414.55MB mem-reservation=409.00MB thread-reservation=1 runtime-filters-memory=1.00MB
| | | max-parallelism=10 segment-costs=[834572]
| | JOIN BUILD
| | | join-table-id=25 plan-id=26 cohort-id=08
| | | build expressions: tpcds_partitioned_parquet_snap.item_3.i_item_sk
-| | | runtime filters: RF019[min_max] <- tpcds_partitioned_parquet_snap.item_3.i_item_sk
+| | | runtime filters: RF018[bloom] <- tpcds_partitioned_parquet_snap.item_3.i_item_sk, RF019[min_max] <- tpcds_partitioned_parquet_snap.item_3.i_item_sk
| | | mem-estimate=408.00MB mem-reservation=408.00MB spill-buffer=2.00MB thread-reservation=0 cost=358342
| | |
| | 99:EXCHANGE [BROADCAST]
@@ -5108,13 +5109,12 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| | | in pipelines: 21(GETNEXT)
| | |
| | F03:PLAN FRAGMENT [RANDOM] hosts=4 instances=4
-| | 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=16.08MB mem-reservation=512.00KB thread-reservation=1
| | max-parallelism=4 segment-costs=[146628]
| | 21:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
| | HDFS partitions=1/1 files=1 size=33.54MB
| | predicates: tpcds_partitioned_parquet_snap.item_3.i_category_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_3.i_brand_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_3.i_class_id IS NOT NULL, tpcds_partitioned_parquet_snap.item_3.i_item_sk IS NOT NULL
-| | runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_brand_id, RF016[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_category_id, RF017[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_class_id, RF012[bloom] -> tpcds_partitioned_parquet_snap.item_3.i_brand_id, RF013[bloom] -> tpcds_partitioned_parquet_snap.item_3.i_category_id, RF014[bloom] -> tpcds_partitioned_parquet_snap.item_3.i_class_id
+| | runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_brand_id, RF016[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_category_id, RF017[min_max] -> tpcds_partitioned_parquet_snap.item_3.i_class_id
| | stored statistics:
| | table: rows=360.00K size=33.54MB
| | columns: all
@@ -5165,7 +5165,7 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
| partition predicates: tpcds_partitioned_parquet_snap.web_sales.ws_sold_date_sk IS NOT NULL
| HDFS partitions=1823/1824 files=1823 size=145.67GB
| predicates: tpcds_partitioned_parquet_snap.web_sales.ws_item_sk IS NOT NULL
-| runtime filters: RF019[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk
+| runtime filters: RF019[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk, RF018[bloom] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk
| stored statistics:
| table: rows=2.16G size=145.75GB
| partitions: 1823/1823 rows=2.16G
@@ -5185,7 +5185,7 @@ max-parallelism=7 segment-costs=[1643724294, 41984431] cpu-comparison-result=399
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=7(filtered from 1823)
+ extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=7(filtered from 1823)
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=2 row-size=16B cardinality=31.66M(filtered from 8.25G) cost=8184132
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q23a.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q23a.test
index a2b6a9b8b..8cb40a5be 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q23a.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q23a.test
@@ -264,7 +264,7 @@ PLAN-ROOT SINK
| | | table: rows=8.64G size=389.90GB
| | | partitions: 1823/1823 rows=8.25G
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| | | extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| | | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk IS NOT NULL
| | | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | | tuple-ids=30 row-size=16B cardinality=6.44G(filtered from 7.88G) cost=1743220161
@@ -384,7 +384,7 @@ PLAN-ROOT SINK
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=42 row-size=8B cardinality=6.74G(filtered from 8.25G) cost=966357636
@@ -504,7 +504,7 @@ PLAN-ROOT SINK
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=5 row-size=16B cardinality=6.44G(filtered from 7.88G) cost=1743220161
@@ -624,7 +624,7 @@ PLAN-ROOT SINK
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_1.ss_item_sk IS NOT NULL
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=17 row-size=8B cardinality=6.74G(filtered from 8.25G) cost=966357636
@@ -992,7 +992,7 @@ max-parallelism=70 segment-costs=[676272669, 185] cpu-comparison-result=742 [max
| | | table: rows=8.64G size=389.90GB
| | | partitions: 1823/1823 rows=8.25G
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| | | extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| | | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk IS NOT NULL
| | | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | | tuple-ids=30 row-size=16B cardinality=6.44G(filtered from 7.88G) cost=1743220161
@@ -1226,7 +1226,7 @@ max-parallelism=70 segment-costs=[676272669, 185] cpu-comparison-result=742 [max
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=42 row-size=8B cardinality=6.74G(filtered from 8.25G) cost=966357636
@@ -1460,7 +1460,7 @@ max-parallelism=70 segment-costs=[676272669, 185] cpu-comparison-result=742 [max
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=5 row-size=16B cardinality=6.44G(filtered from 7.88G) cost=1743220161
@@ -1694,7 +1694,7 @@ max-parallelism=70 segment-costs=[676272669, 185] cpu-comparison-result=742 [max
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_1.ss_item_sk IS NOT NULL
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=17 row-size=8B cardinality=6.74G(filtered from 8.25G) cost=966357636
@@ -2079,7 +2079,7 @@ max-parallelism=70 segment-costs=[676272669, 185] cpu-comparison-result=742 [max
| | | table: rows=8.64G size=389.90GB
| | | partitions: 1823/1823 rows=8.25G
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| | | extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| | | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk IS NOT NULL
| | | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | | tuple-ids=30 row-size=16B cardinality=6.44G(filtered from 7.88G) cost=1743220161
@@ -2313,7 +2313,7 @@ max-parallelism=70 segment-costs=[676272669, 185] cpu-comparison-result=742 [max
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=42 row-size=8B cardinality=6.74G(filtered from 8.25G) cost=966357636
@@ -2547,7 +2547,7 @@ max-parallelism=70 segment-costs=[676272669, 185] cpu-comparison-result=742 [max
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=5 row-size=16B cardinality=6.44G(filtered from 7.88G) cost=1743220161
@@ -2781,7 +2781,7 @@ max-parallelism=70 segment-costs=[676272669, 185] cpu-comparison-result=742 [max
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_1.ss_item_sk IS NOT NULL
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=17 row-size=8B cardinality=6.74G(filtered from 8.25G) cost=966357636
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q23b.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q23b.test
index 42e0789ec..3b0571abb 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q23b.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q23b.test
@@ -192,14 +192,14 @@ PLAN-ROOT SINK
|
55:TOP-N [LIMIT=100]
| order by: C_LAST_NAME ASC NULLS LAST, C_FIRST_NAME ASC NULLS LAST, SALES ASC NULLS LAST
-| mem-estimate=3.91KB mem-reservation=0B thread-reservation=0
-| tuple-ids=57 row-size=40B cardinality=100 cost=721685539
+| mem-estimate=5.08KB mem-reservation=0B thread-reservation=0
+| tuple-ids=57 row-size=52B cardinality=100 cost=721685539
| in pipelines: 55(GETNEXT), 27(OPEN), 54(OPEN)
|
00:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=56 row-size=40B cardinality=50.05M cost=0
+| tuple-ids=56 row-size=52B cardinality=50.05M cost=0
| in pipelines: 27(GETNEXT), 54(GETNEXT)
|
|--54:AGGREGATE [FINALIZE]
@@ -307,7 +307,7 @@ PLAN-ROOT SINK
| | | table: rows=8.64G size=389.90GB
| | | partitions: 1823/1823 rows=8.25G
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| | | extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| | | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk IS NOT NULL
| | | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | | tuple-ids=35 row-size=16B cardinality=6.44G(filtered from 7.88G) cost=1743220161
@@ -428,7 +428,7 @@ PLAN-ROOT SINK
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=47 row-size=8B cardinality=6.74G(filtered from 8.25G) cost=966357636
@@ -575,7 +575,7 @@ PLAN-ROOT SINK
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=7 row-size=16B cardinality=6.44G(filtered from 7.88G) cost=1743220161
@@ -696,7 +696,7 @@ PLAN-ROOT SINK
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_1.ss_item_sk IS NOT NULL
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=19 row-size=8B cardinality=6.74G(filtered from 8.25G) cost=966357636
@@ -865,8 +865,8 @@ ImpalaSortRel(sort0=[$0], sort1=[$1], sort2=[$2], dir0=[ASC], dir1=[ASC], dir2=[
ImpalaFilterRel(condition=[IS NOT NULL($0)])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, item]])
F37:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=4.38MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[333] cpu-comparison-result=942 [max(1 (self) vs 942 (sum children))]
+| Per-Instance Resources: mem-estimate=4.48MB mem-reservation=4.00MB thread-reservation=1
+| max-parallelism=1 segment-costs=[335] cpu-comparison-result=942 [max(1 (self) vs 942 (sum children))]
PLAN-ROOT SINK
| output exprs: C_LAST_NAME, C_FIRST_NAME, SALES
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=300
@@ -874,23 +874,23 @@ PLAN-ROOT SINK
102:MERGING-EXCHANGE [UNPARTITIONED]
| order by: C_LAST_NAME ASC NULLS LAST, C_FIRST_NAME ASC NULLS LAST, SALES ASC NULLS LAST
| limit: 100
-| mem-estimate=387.11KB mem-reservation=0B thread-reservation=0
-| tuple-ids=57 row-size=40B cardinality=100 cost=33
+| mem-estimate=492.43KB mem-reservation=0B thread-reservation=0
+| tuple-ids=57 row-size=52B cardinality=100 cost=35
| in pipelines: 55(GETNEXT)
|
F36:PLAN FRAGMENT [RANDOM] hosts=10 instances=90 (adjusted from 120)
Per-Instance Resources: mem-estimate=178.86MB mem-reservation=34.00MB thread-reservation=1
-max-parallelism=90 segment-costs=[530339624, 328994030, 721685539, 136] cpu-comparison-result=942 [max(90 (self) vs 942 (sum children))]
+max-parallelism=90 segment-costs=[530339624, 328994030, 721685539, 167] cpu-comparison-result=942 [max(90 (self) vs 942 (sum children))]
55:TOP-N [LIMIT=100]
| order by: C_LAST_NAME ASC NULLS LAST, C_FIRST_NAME ASC NULLS LAST, SALES ASC NULLS LAST
-| mem-estimate=3.91KB mem-reservation=0B thread-reservation=0
-| tuple-ids=57 row-size=40B cardinality=100 cost=721685539
+| mem-estimate=5.08KB mem-reservation=0B thread-reservation=0
+| tuple-ids=57 row-size=52B cardinality=100 cost=721685539
| in pipelines: 55(GETNEXT), 78(OPEN), 101(OPEN)
|
00:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=56 row-size=40B cardinality=50.05M cost=0
+| tuple-ids=56 row-size=52B cardinality=50.05M cost=0
| in pipelines: 78(GETNEXT), 101(GETNEXT)
|
|--101:AGGREGATE [FINALIZE]
@@ -1136,7 +1136,7 @@ max-parallelism=90 segment-costs=[530339624, 328994030, 721685539, 136] cpu-comp
| | | table: rows=8.64G size=389.90GB
| | | partitions: 1823/1823 rows=8.25G
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| | | extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| | | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk IS NOT NULL
| | | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | | tuple-ids=35 row-size=16B cardinality=6.44G(filtered from 7.88G) cost=1743220161
@@ -1371,7 +1371,7 @@ max-parallelism=90 segment-costs=[530339624, 328994030, 721685539, 136] cpu-comp
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=47 row-size=8B cardinality=6.74G(filtered from 8.25G) cost=966357636
@@ -1673,7 +1673,7 @@ max-parallelism=108 segment-costs=[2237189003]
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=7 row-size=16B cardinality=6.44G(filtered from 7.88G) cost=1743220161
@@ -1908,7 +1908,7 @@ max-parallelism=108 segment-costs=[2237189003]
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_1.ss_item_sk IS NOT NULL
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=19 row-size=8B cardinality=6.74G(filtered from 8.25G) cost=966357636
@@ -2094,8 +2094,8 @@ ImpalaSortRel(sort0=[$0], sort1=[$1], sort2=[$2], dir0=[ASC], dir1=[ASC], dir2=[
ImpalaFilterRel(condition=[IS NOT NULL($0)])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, item]])
F37:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=4.38MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[333] cpu-comparison-result=942 [max(1 (self) vs 942 (sum children))]
+| Per-Instance Resources: mem-estimate=4.48MB mem-reservation=4.00MB thread-reservation=1
+| max-parallelism=1 segment-costs=[335] cpu-comparison-result=942 [max(1 (self) vs 942 (sum children))]
PLAN-ROOT SINK
| output exprs: C_LAST_NAME, C_FIRST_NAME, SALES
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=300
@@ -2103,23 +2103,23 @@ PLAN-ROOT SINK
102:MERGING-EXCHANGE [UNPARTITIONED]
| order by: C_LAST_NAME ASC NULLS LAST, C_FIRST_NAME ASC NULLS LAST, SALES ASC NULLS LAST
| limit: 100
-| mem-estimate=387.11KB mem-reservation=0B thread-reservation=0
-| tuple-ids=57 row-size=40B cardinality=100 cost=33
+| mem-estimate=492.43KB mem-reservation=0B thread-reservation=0
+| tuple-ids=57 row-size=52B cardinality=100 cost=35
| in pipelines: 55(GETNEXT)
|
F36:PLAN FRAGMENT [RANDOM] hosts=10 instances=90 (adjusted from 120)
Per-Instance Resources: mem-estimate=178.86MB mem-reservation=34.00MB thread-reservation=1
-max-parallelism=90 segment-costs=[530339624, 328994030, 721685539, 136] cpu-comparison-result=942 [max(90 (self) vs 942 (sum children))]
+max-parallelism=90 segment-costs=[530339624, 328994030, 721685539, 167] cpu-comparison-result=942 [max(90 (self) vs 942 (sum children))]
55:TOP-N [LIMIT=100]
| order by: C_LAST_NAME ASC NULLS LAST, C_FIRST_NAME ASC NULLS LAST, SALES ASC NULLS LAST
-| mem-estimate=3.91KB mem-reservation=0B thread-reservation=0
-| tuple-ids=57 row-size=40B cardinality=100 cost=721685539
+| mem-estimate=5.08KB mem-reservation=0B thread-reservation=0
+| tuple-ids=57 row-size=52B cardinality=100 cost=721685539
| in pipelines: 55(GETNEXT), 78(OPEN), 101(OPEN)
|
00:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=56 row-size=40B cardinality=50.05M cost=0
+| tuple-ids=56 row-size=52B cardinality=50.05M cost=0
| in pipelines: 78(GETNEXT), 101(GETNEXT)
|
|--101:AGGREGATE [FINALIZE]
@@ -2365,7 +2365,7 @@ max-parallelism=90 segment-costs=[530339624, 328994030, 721685539, 136] cpu-comp
| | | table: rows=8.64G size=389.90GB
| | | partitions: 1823/1823 rows=8.25G
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| | | extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| | | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_3.ss_customer_sk IS NOT NULL
| | | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | | tuple-ids=35 row-size=16B cardinality=6.44G(filtered from 7.88G) cost=1743220161
@@ -2600,7 +2600,7 @@ max-parallelism=90 segment-costs=[530339624, 328994030, 721685539, 136] cpu-comp
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_4.ss_item_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=47 row-size=8B cardinality=6.74G(filtered from 8.25G) cost=966357636
@@ -2902,7 +2902,7 @@ max-parallelism=108 segment-costs=[2237189003]
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_customer_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=7 row-size=16B cardinality=6.44G(filtered from 7.88G) cost=1743220161
@@ -3137,7 +3137,7 @@ max-parallelism=108 segment-costs=[2237189003]
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=1491(filtered from 1823)
+| extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=1491(filtered from 1823)
| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_1.ss_item_sk IS NOT NULL
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=19 row-size=8B cardinality=6.74G(filtered from 8.25G) cost=966357636
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q33.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q33.test
index 032d63ae9..b21dfffaf 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q33.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q33.test
@@ -75,8 +75,8 @@ limit 100
# end query 33 in stream 0 using template query33.tpl
---- PLAN
-Max Per-Host Resource Reservation: Memory=107.12MB Threads=1
-Per-Host Resource Estimates: Memory=311MB
+Max Per-Host Resource Reservation: Memory=75.06MB Threads=1
+Per-Host Resource Estimates: Memory=193MB
ImpalaSortRel(sort0=[$1], dir0=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0}], TOTAL_SALES=[SUM($1)])
ImpalaUnionRel(all=[true])
@@ -157,8 +157,8 @@ ImpalaSortRel(sort0=[$1], dir0=[ASC], fetch=[100:TINYINT])
ImpalaFilterRel(condition=[=($12, _UTF-8'Electronics')])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, item]])
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=311.19MB mem-reservation=107.12MB thread-reservation=1 runtime-filters-memory=13.00MB
-| max-parallelism=1 segment-costs=[506473333, 273008224, 140597923, 8325, 18594, 200]
+| Per-Instance Resources: mem-estimate=193.19MB mem-reservation=75.06MB thread-reservation=1 runtime-filters-memory=13.00MB
+| max-parallelism=1 segment-costs=[506473333, 273008224, 140597923, 5829, 11764, 200]
PLAN-ROOT SINK
| output exprs: I_MANUFACT_ID, sum(TOTAL_SALES)
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=200
@@ -166,14 +166,14 @@ PLAN-ROOT SINK
33:TOP-N [LIMIT=100]
| order by: sum(TOTAL_SALES) ASC NULLS LAST
| mem-estimate=1.95KB mem-reservation=0B thread-reservation=0
-| tuple-ids=36 row-size=20B cardinality=100 cost=18594
+| tuple-ids=36 row-size=20B cardinality=100 cost=11764
| in pipelines: 33(GETNEXT), 32(OPEN)
|
32:AGGREGATE [FINALIZE]
| output: sum(TOTAL_SALES)
| group by: I_MANUFACT_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=35 row-size=20B cardinality=2.87K cost=8325
+| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=35 row-size=20B cardinality=1.91K cost=5829
| in pipelines: 32(GETNEXT), 11(OPEN), 21(OPEN), 31(OPEN)
|
00:UNION
@@ -497,14 +497,14 @@ PLAN-ROOT SINK
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=108(filtered from 1823)
+ extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=108(filtered from 1823)
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_addr_sk IS NOT NULL, tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=2 row-size=16B cardinality=76.41M(filtered from 7.88G) cost=139995472
in pipelines: 03(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=944.31MB Threads=43
-Per-Host Resource Estimates: Memory=2.17GB
+Max Per-Host Resource Reservation: Memory=720.25MB Threads=43
+Per-Host Resource Estimates: Memory=1.36GB
ImpalaSortRel(sort0=[$1], dir0=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0}], TOTAL_SALES=[SUM($1)])
ImpalaUnionRel(all=[true])
@@ -599,19 +599,19 @@ PLAN-ROOT SINK
| in pipelines: 33(GETNEXT)
|
F20:PLAN FRAGMENT [HASH(I_MANUFACT_ID)] hosts=10 instances=10 (adjusted from 120)
-Per-Instance Resources: mem-estimate=129.41MB mem-reservation=34.00MB thread-reservation=1
-max-parallelism=10 segment-costs=[8908, 18594, 83] cpu-comparison-result=178 [max(10 (self) vs 178 (sum children))]
+Per-Instance Resources: mem-estimate=11.41MB mem-reservation=1.94MB thread-reservation=1
+max-parallelism=10 segment-costs=[6412, 11764, 83] cpu-comparison-result=178 [max(10 (self) vs 178 (sum children))]
33:TOP-N [LIMIT=100]
| order by: sum(TOTAL_SALES) ASC NULLS LAST
| mem-estimate=1.95KB mem-reservation=0B thread-reservation=0
-| tuple-ids=36 row-size=20B cardinality=100 cost=18594
+| tuple-ids=36 row-size=20B cardinality=100 cost=11764
| in pipelines: 33(GETNEXT), 53(OPEN)
|
53:AGGREGATE [FINALIZE]
| output: sum:merge(TOTAL_SALES)
| group by: I_MANUFACT_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=35 row-size=20B cardinality=2.87K cost=8325
+| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=35 row-size=20B cardinality=1.91K cost=5829
| in pipelines: 53(GETNEXT), 39(OPEN), 45(OPEN), 51(OPEN)
|
52:EXCHANGE [HASH(I_MANUFACT_ID)]
@@ -620,12 +620,12 @@ max-parallelism=10 segment-costs=[8908, 18594, 83] cpu-comparison-result=178 [ma
| in pipelines: 39(GETNEXT), 45(GETNEXT), 51(GETNEXT)
|
F19:PLAN FRAGMENT [RANDOM] hosts=10 instances=60 (adjusted from 120)
-Per-Instance Resources: mem-estimate=140.56MB mem-reservation=35.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=22.56MB mem-reservation=3.94MB thread-reservation=1
max-parallelism=60 segment-costs=[59409, 59409, 59409, 8325, 5176] cpu-comparison-result=178 [max(60 (self) vs 178 (sum children))]
32:AGGREGATE [STREAMING]
| output: sum(TOTAL_SALES)
| group by: I_MANUFACT_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
| tuple-ids=35 row-size=20B cardinality=2.87K cost=8325
| in pipelines: 39(GETNEXT), 45(GETNEXT), 51(GETNEXT)
|
@@ -1204,14 +1204,14 @@ max-parallelism=60 segment-costs=[501246351, 207079] cpu-comparison-result=60 [m
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=108(filtered from 1823)
+ extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=108(filtered from 1823)
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_addr_sk IS NOT NULL, tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=2 row-size=16B cardinality=76.41M(filtered from 7.88G) cost=139995472
in pipelines: 03(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=944.31MB Threads=43
-Per-Host Resource Estimates: Memory=2.17GB
+Max Per-Host Resource Reservation: Memory=720.25MB Threads=43
+Per-Host Resource Estimates: Memory=1.36GB
ImpalaSortRel(sort0=[$1], dir0=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0}], TOTAL_SALES=[SUM($1)])
ImpalaUnionRel(all=[true])
@@ -1306,19 +1306,19 @@ PLAN-ROOT SINK
| in pipelines: 33(GETNEXT)
|
F20:PLAN FRAGMENT [HASH(I_MANUFACT_ID)] hosts=10 instances=10 (adjusted from 120)
-Per-Instance Resources: mem-estimate=129.41MB mem-reservation=34.00MB thread-reservation=1
-max-parallelism=10 segment-costs=[8908, 18594, 83] cpu-comparison-result=178 [max(10 (self) vs 178 (sum children))]
+Per-Instance Resources: mem-estimate=11.41MB mem-reservation=1.94MB thread-reservation=1
+max-parallelism=10 segment-costs=[6412, 11764, 83] cpu-comparison-result=178 [max(10 (self) vs 178 (sum children))]
33:TOP-N [LIMIT=100]
| order by: sum(TOTAL_SALES) ASC NULLS LAST
| mem-estimate=1.95KB mem-reservation=0B thread-reservation=0
-| tuple-ids=36 row-size=20B cardinality=100 cost=18594
+| tuple-ids=36 row-size=20B cardinality=100 cost=11764
| in pipelines: 33(GETNEXT), 53(OPEN)
|
53:AGGREGATE [FINALIZE]
| output: sum:merge(TOTAL_SALES)
| group by: I_MANUFACT_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=35 row-size=20B cardinality=2.87K cost=8325
+| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=35 row-size=20B cardinality=1.91K cost=5829
| in pipelines: 53(GETNEXT), 39(OPEN), 45(OPEN), 51(OPEN)
|
52:EXCHANGE [HASH(I_MANUFACT_ID)]
@@ -1327,12 +1327,12 @@ max-parallelism=10 segment-costs=[8908, 18594, 83] cpu-comparison-result=178 [ma
| in pipelines: 39(GETNEXT), 45(GETNEXT), 51(GETNEXT)
|
F19:PLAN FRAGMENT [RANDOM] hosts=10 instances=60 (adjusted from 120)
-Per-Instance Resources: mem-estimate=140.56MB mem-reservation=35.94MB thread-reservation=1
+Per-Instance Resources: mem-estimate=22.56MB mem-reservation=3.94MB thread-reservation=1
max-parallelism=60 segment-costs=[59409, 59409, 59409, 8325, 5176] cpu-comparison-result=178 [max(60 (self) vs 178 (sum children))]
32:AGGREGATE [STREAMING]
| output: sum(TOTAL_SALES)
| group by: I_MANUFACT_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
| tuple-ids=35 row-size=20B cardinality=2.87K cost=8325
| in pipelines: 39(GETNEXT), 45(GETNEXT), 51(GETNEXT)
|
@@ -1911,7 +1911,7 @@ max-parallelism=60 segment-costs=[501246351, 207079] cpu-comparison-result=60 [m
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=108(filtered from 1823)
+ extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=108(filtered from 1823)
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_addr_sk IS NOT NULL, tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=2 row-size=16B cardinality=76.41M(filtered from 7.88G) cost=139995472
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q35a.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q35a.test
index 38dbf1f99..ca988bb37 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q35a.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q35a.test
@@ -62,7 +62,7 @@ select
# end query 35 in stream 0 using template query35a.tpl
---- PLAN
Max Per-Host Resource Reservation: Memory=227.81MB Threads=1
-Per-Host Resource Estimates: Memory=15.79GB
+Per-Host Resource Estimates: Memory=21.00GB
ImpalaSortRel(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$8], sort5=[$13], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC], dir5=[ASC], fetch=[100:TINYINT])
ImpalaProjectRel(CA_STATE=[$0], CD_GENDER=[$1], CD_MARITAL_STATUS=[$2], CD_DEP_COUNT=[$3], CNT1=[$6], EXPR$5=[$7], EXPR$6=[$7], EXPR$7=[$8], CD_DEP_EMPLOYED_COUNT=[$4], CNT2=[$6], EXPR$10=[$9], EXPR$11=[$9], EXPR$12=[$10], CD_DEP_COLLEGE_COUNT=[$5], CNT3=[$6], EXPR$15=[$11], EXPR$16=[$11], EXPR$17=[$12])
ImpalaAggRel(group=[{0, 1, 2, 3, 4, 5}], CNT3=[COUNT()], EXPR$6=[STDDEV_SAMP($3)], EXPR$7=[MIN($3)], EXPR$11=[STDDEV_SAMP($4)], EXPR$12=[MIN($4)], EXPR$16=[STDDEV_SAMP($5)], EXPR$17=[MIN($5)])
@@ -111,7 +111,7 @@ ImpalaSortRel(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$8], sort5=
ImpalaFilterRel(condition=[AND(=($6, 2002), <($10, 4), IS NOT NULL($0))])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, date_dim]])
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=15.79GB mem-reservation=227.81MB thread-reservation=1 runtime-filters-memory=53.00MB
+| Per-Instance Resources: mem-estimate=21.00GB mem-reservation=227.81MB thread-reservation=1 runtime-filters-memory=53.00MB
| max-parallelism=1 segment-costs=[533871767, 835774005, 1717703, 1800]
PLAN-ROOT SINK
| output exprs: tpcds_partitioned_parquet_snap.customer_address.ca_state, tpcds_partitioned_parquet_snap.customer_demographics.cd_gender, tpcds_partitioned_parquet_snap.customer_demographics.cd_marital_status, tpcds_partitioned_parquet_snap.customer_demographics.cd_dep_count, count(), stddev_samp(tpcds_partitioned_parquet_snap.customer_demographics.cd_dep_count), stddev_samp(tpcds_partitioned_parquet_snap.customer_demographics.cd_dep_count), min(tpcds_partitioned_parquet_snap.customer_d [...]
@@ -133,7 +133,7 @@ PLAN-ROOT SINK
17:HASH JOIN [LEFT SEMI JOIN]
| hash predicates: tpcds_partitioned_parquet_snap.customer.c_customer_sk = CUSTOMSK
| runtime filters: RF000[bloom] <- CUSTOMSK, RF001[min_max] <- CUSTOMSK
-| mem-estimate=13.55GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=18.76GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=9,8,2,0 row-size=76B cardinality=28.95M cost=427973243
| in pipelines: 06(GETNEXT), 11(OPEN), 14(OPEN)
|
@@ -298,7 +298,7 @@ PLAN-ROOT SINK
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=118(filtered from 1823)
+| extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=118(filtered from 1823)
| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk IS NOT NULL
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=4 row-size=8B cardinality=509.68M(filtered from 7.88G) cost=76479008
@@ -318,7 +318,7 @@ PLAN-ROOT SINK
in pipelines: 06(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=844.00MB Threads=43
-Per-Host Resource Estimates: Memory=2.95GB
+Per-Host Resource Estimates: Memory=3.47GB
ImpalaSortRel(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$8], sort5=[$13], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC], dir5=[ASC], fetch=[100:TINYINT])
ImpalaProjectRel(CA_STATE=[$0], CD_GENDER=[$1], CD_MARITAL_STATUS=[$2], CD_DEP_COUNT=[$3], CNT1=[$6], EXPR$5=[$7], EXPR$6=[$7], EXPR$7=[$8], CD_DEP_EMPLOYED_COUNT=[$4], CNT2=[$6], EXPR$10=[$9], EXPR$11=[$9], EXPR$12=[$10], CD_DEP_COLLEGE_COUNT=[$5], CNT3=[$6], EXPR$15=[$11], EXPR$16=[$11], EXPR$17=[$12])
ImpalaAggRel(group=[{0, 1, 2, 3, 4, 5}], CNT3=[COUNT()], EXPR$6=[STDDEV_SAMP($3)], EXPR$7=[MIN($3)], EXPR$11=[STDDEV_SAMP($4)], EXPR$12=[MIN($4)], EXPR$16=[STDDEV_SAMP($5)], EXPR$17=[MIN($5)])
@@ -419,13 +419,13 @@ max-parallelism=10 segment-costs=[89066048, 11716111] cpu-comparison-result=258
| in pipelines: 06(GETNEXT), 11(OPEN), 14(OPEN)
|
|--F16:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.customer.c_customer_sk)] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=1.38GB mem-reservation=50.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | Per-Instance Resources: mem-estimate=1.90GB mem-reservation=50.00MB thread-reservation=1 runtime-filters-memory=16.00MB
| | max-parallelism=10 segment-costs=[469083346] cpu-comparison-result=70 [max(70 (self) vs 22 (sum children))]
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
| | build expressions: CUSTOMSK
| | runtime filters: RF000[bloom] <- CUSTOMSK, RF001[min_max] <- CUSTOMSK
-| | mem-estimate=1.35GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0 cost=415301768
+| | mem-estimate=1.88GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0 cost=415301768
| |
| 31:EXCHANGE [HASH(CUSTOMSK)]
| | mem-estimate=10.47MB mem-reservation=0B thread-reservation=0
@@ -730,7 +730,7 @@ max-parallelism=10 segment-costs=[77146329]
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=118(filtered from 1823)
+| extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=118(filtered from 1823)
| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk IS NOT NULL
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=4 row-size=8B cardinality=509.68M(filtered from 7.88G) cost=76479008
@@ -759,7 +759,7 @@ max-parallelism=10 segment-costs=[45000779]
in pipelines: 06(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=844.00MB Threads=43
-Per-Host Resource Estimates: Memory=2.95GB
+Per-Host Resource Estimates: Memory=3.47GB
ImpalaSortRel(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$8], sort5=[$13], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC], dir5=[ASC], fetch=[100:TINYINT])
ImpalaProjectRel(CA_STATE=[$0], CD_GENDER=[$1], CD_MARITAL_STATUS=[$2], CD_DEP_COUNT=[$3], CNT1=[$6], EXPR$5=[$7], EXPR$6=[$7], EXPR$7=[$8], CD_DEP_EMPLOYED_COUNT=[$4], CNT2=[$6], EXPR$10=[$9], EXPR$11=[$9], EXPR$12=[$10], CD_DEP_COLLEGE_COUNT=[$5], CNT3=[$6], EXPR$15=[$11], EXPR$16=[$11], EXPR$17=[$12])
ImpalaAggRel(group=[{0, 1, 2, 3, 4, 5}], CNT3=[COUNT()], EXPR$6=[STDDEV_SAMP($3)], EXPR$7=[MIN($3)], EXPR$11=[STDDEV_SAMP($4)], EXPR$12=[MIN($4)], EXPR$16=[STDDEV_SAMP($5)], EXPR$17=[MIN($5)])
@@ -860,13 +860,13 @@ max-parallelism=10 segment-costs=[89066048, 11716111] cpu-comparison-result=258
| in pipelines: 06(GETNEXT), 11(OPEN), 14(OPEN)
|
|--F16:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.customer.c_customer_sk)] hosts=10 instances=10
-| | Per-Instance Resources: mem-estimate=1.38GB mem-reservation=50.00MB thread-reservation=1 runtime-filters-memory=16.00MB
+| | Per-Instance Resources: mem-estimate=1.90GB mem-reservation=50.00MB thread-reservation=1 runtime-filters-memory=16.00MB
| | max-parallelism=10 segment-costs=[469083346] cpu-comparison-result=70 [max(70 (self) vs 22 (sum children))]
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
| | build expressions: CUSTOMSK
| | runtime filters: RF000[bloom] <- CUSTOMSK, RF001[min_max] <- CUSTOMSK
-| | mem-estimate=1.35GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0 cost=415301768
+| | mem-estimate=1.88GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0 cost=415301768
| |
| 31:EXCHANGE [HASH(CUSTOMSK)]
| | mem-estimate=10.47MB mem-reservation=0B thread-reservation=0
@@ -1171,7 +1171,7 @@ max-parallelism=10 segment-costs=[77146329]
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=118(filtered from 1823)
+| extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=118(filtered from 1823)
| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk IS NOT NULL
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=4 row-size=8B cardinality=509.68M(filtered from 7.88G) cost=76479008
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q38.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q38.test
index 45e0915d9..937c1c137 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q38.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q38.test
@@ -24,7 +24,7 @@ limit 100
# end query 38 in stream 0 using template query38.tpl
---- PLAN
Max Per-Host Resource Reservation: Memory=189.44MB Threads=1
-Per-Host Resource Estimates: Memory=52.18GB
+Per-Host Resource Estimates: Memory=151.93GB
ImpalaSortRel(fetch=[100:TINYINT])
ImpalaAggRel(group=[{}], EXPR$0=[COUNT()])
ImpalaFilterRel(condition=[=($3, 2)])
@@ -77,8 +77,8 @@ ImpalaSortRel(fetch=[100:TINYINT])
ImpalaFilterRel(condition=[IS NOT NULL($0)])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, customer]])
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=52.18GB mem-reservation=189.44MB thread-reservation=1 runtime-filters-memory=51.00MB
-| max-parallelism=1 segment-costs=[13844381262, 50531762579, 27339416444, 65863756561, 78867528967, 920157802, 1]
+| Per-Instance Resources: mem-estimate=151.93GB mem-reservation=189.44MB thread-reservation=1 runtime-filters-memory=51.00MB
+| max-parallelism=1 segment-costs=[13844381262, 50531762579, 27339416444, 65863756561, 79290843893, 920157802, 1]
PLAN-ROOT SINK
| output exprs: count()
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=1
@@ -94,28 +94,28 @@ PLAN-ROOT SINK
| output: count()
| group by: C_LAST_NAME, C_FIRST_NAME, D_DATE
| having: count() = CAST(2 AS BIGINT)
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=24 row-size=36B cardinality=13.15G cost=77590334921
+| mem-estimate=50.00GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=24 row-size=48B cardinality=13.15G cost=77590334921
| in pipelines: 21(GETNEXT), 20(OPEN), 14(OPEN)
|
00:UNION
| pass-through-operands: 20
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=23 row-size=28B cardinality=13.15G cost=1277194046
+| tuple-ids=23 row-size=40B cardinality=13.15G cost=1700508972
| in pipelines: 20(GETNEXT), 14(GETNEXT)
|
|--14:AGGREGATE [FINALIZE]
| | output: count()
| | group by: C_LAST_NAME, C_FIRST_NAME, D_DATE
| | having: count() = CAST(2 AS BIGINT)
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=15 row-size=36B cardinality=11.16G cost=65863756561
+| | mem-estimate=50.00GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=15 row-size=48B cardinality=11.16G cost=65863756561
| | in pipelines: 14(GETNEXT), 07(OPEN), 13(OPEN)
| |
| 01:UNION
| | pass-through-operands: all
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=14 row-size=28B cardinality=11.16G cost=0
+| | tuple-ids=14 row-size=40B cardinality=11.16G cost=0
| | in pipelines: 07(GETNEXT), 13(GETNEXT)
| |
| |--13:AGGREGATE [FINALIZE]
@@ -236,7 +236,7 @@ PLAN-ROOT SINK
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M
+| extrapolated-rows=disabled max-scan-range-rows=12.31M
| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk IS NOT NULL
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=0 row-size=8B cardinality=7.57G(filtered from 7.88G) cost=1182183990
@@ -305,7 +305,7 @@ PLAN-ROOT SINK
in pipelines: 15(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=4.57GB Threads=85
-Per-Host Resource Estimates: Memory=58.23GB
+Per-Host Resource Estimates: Memory=124.37GB
ImpalaSortRel(fetch=[100:TINYINT])
ImpalaAggRel(group=[{}], EXPR$0=[COUNT()])
ImpalaFilterRel(condition=[=($3, 2)])
@@ -377,8 +377,8 @@ PLAN-ROOT SINK
| in pipelines: 22(GETNEXT)
|
F15:PLAN FRAGMENT [HASH(C_LAST_NAME,C_FIRST_NAME,D_DATE)] hosts=10 instances=120
-Per-Instance Resources: mem-estimate=142.69MB mem-reservation=34.00MB thread-reservation=1
-max-parallelism=8130 segment-costs=[81227587262, 920157802, 123] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+Per-Instance Resources: mem-estimate=1.92GB mem-reservation=34.00MB thread-reservation=1
+max-parallelism=8200 segment-costs=[81951228456, 920157802, 123] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
22:AGGREGATE
| output: count()
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
@@ -389,58 +389,58 @@ max-parallelism=8130 segment-costs=[81227587262, 920157802, 123] cpu-comparison-
| output: count:merge()
| group by: C_LAST_NAME, C_FIRST_NAME, D_DATE
| having: count() = CAST(2 AS BIGINT)
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=24 row-size=36B cardinality=13.15G cost=77590334921
+| mem-estimate=1.90GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=24 row-size=48B cardinality=13.15G cost=77590334921
| in pipelines: 38(GETNEXT), 26(OPEN), 36(OPEN)
|
37:EXCHANGE [HASH(C_LAST_NAME,C_FIRST_NAME,D_DATE)]
-| mem-estimate=14.69MB mem-reservation=0B thread-reservation=0
-| tuple-ids=24 row-size=36B cardinality=13.15G cost=3637252341
+| mem-estimate=16.09MB mem-reservation=0B thread-reservation=0
+| tuple-ids=24 row-size=48B cardinality=13.15G cost=4360893535
| in pipelines: 26(GETNEXT), 36(GETNEXT)
|
F14:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-Per-Instance Resources: mem-estimate=751.03MB mem-reservation=68.00MB thread-reservation=1
-max-parallelism=120 segment-costs=[12312550098, 68951294500, 78867528967, 37247987841] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+Per-Instance Resources: mem-estimate=3.23GB mem-reservation=68.00MB thread-reservation=1
+max-parallelism=120 segment-costs=[12312550098, 69565568526, 79290843893, 47378964559] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
21:AGGREGATE [STREAMING]
| output: count()
| group by: C_LAST_NAME, C_FIRST_NAME, D_DATE
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=24 row-size=36B cardinality=13.15G cost=77590334921
+| mem-estimate=1.52GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=24 row-size=48B cardinality=13.15G cost=77590334921
| in pipelines: 26(GETNEXT), 36(GETNEXT)
|
00:UNION
| pass-through-operands: 26
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=23 row-size=28B cardinality=13.15G cost=1277194046
+| tuple-ids=23 row-size=40B cardinality=13.15G cost=1700508972
| in pipelines: 26(GETNEXT), 36(GETNEXT)
|
|--36:AGGREGATE [FINALIZE]
| | output: count:merge()
| | group by: C_LAST_NAME, C_FIRST_NAME, D_DATE
| | having: count() = CAST(2 AS BIGINT)
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=15 row-size=36B cardinality=11.16G cost=65863756561
+| | mem-estimate=1.67GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=15 row-size=48B cardinality=11.16G cost=65863756561
| | in pipelines: 36(GETNEXT), 30(OPEN), 34(OPEN)
| |
| 35:EXCHANGE [HASH(C_LAST_NAME,C_FIRST_NAME,D_DATE)]
-| | mem-estimate=14.69MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=15 row-size=36B cardinality=11.16G cost=3087537939
+| | mem-estimate=16.09MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=15 row-size=48B cardinality=11.16G cost=3701811965
| | in pipelines: 30(GETNEXT), 34(GETNEXT)
| |
| F12:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| Per-Instance Resources: mem-estimate=1.26GB mem-reservation=68.00MB thread-reservation=1
-| max-parallelism=120 segment-costs=[44821945517, 24332992738, 65863756561, 31618530917] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
+| Per-Instance Resources: mem-estimate=2.49GB mem-reservation=68.00MB thread-reservation=1
+| max-parallelism=120 segment-costs=[44821945517, 24332992738, 65863756561, 40218367288] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
| 14:AGGREGATE [STREAMING]
| | output: count()
| | group by: C_LAST_NAME, C_FIRST_NAME, D_DATE
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=15 row-size=36B cardinality=11.16G cost=65863756561
+| | mem-estimate=1.35GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=15 row-size=48B cardinality=11.16G cost=65863756561
| | in pipelines: 30(GETNEXT), 34(GETNEXT)
| |
| 01:UNION
| | pass-through-operands: all
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=14 row-size=28B cardinality=11.16G cost=0
+| | tuple-ids=14 row-size=40B cardinality=11.16G cost=0
| | in pipelines: 30(GETNEXT), 34(GETNEXT)
| |
| |--34:AGGREGATE [FINALIZE]
@@ -659,7 +659,7 @@ max-parallelism=120 segment-costs=[12312550098, 68951294500, 78867528967, 372479
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M
+| extrapolated-rows=disabled max-scan-range-rows=12.31M
| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk IS NOT NULL
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=0 row-size=8B cardinality=7.57G(filtered from 7.88G) cost=1182183990
@@ -777,7 +777,7 @@ max-parallelism=1390 segment-costs=[13806614244, 6137059648] cpu-comparison-resu
in pipelines: 15(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=4.57GB Threads=85
-Per-Host Resource Estimates: Memory=58.23GB
+Per-Host Resource Estimates: Memory=124.37GB
ImpalaSortRel(fetch=[100:TINYINT])
ImpalaAggRel(group=[{}], EXPR$0=[COUNT()])
ImpalaFilterRel(condition=[=($3, 2)])
@@ -849,8 +849,8 @@ PLAN-ROOT SINK
| in pipelines: 22(GETNEXT)
|
F15:PLAN FRAGMENT [HASH(C_LAST_NAME,C_FIRST_NAME,D_DATE)] hosts=10 instances=120
-Per-Instance Resources: mem-estimate=142.69MB mem-reservation=34.00MB thread-reservation=1
-max-parallelism=8130 segment-costs=[81227587262, 920157802, 123] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+Per-Instance Resources: mem-estimate=1.92GB mem-reservation=34.00MB thread-reservation=1
+max-parallelism=8200 segment-costs=[81951228456, 920157802, 123] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
22:AGGREGATE
| output: count()
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
@@ -861,58 +861,58 @@ max-parallelism=8130 segment-costs=[81227587262, 920157802, 123] cpu-comparison-
| output: count:merge()
| group by: C_LAST_NAME, C_FIRST_NAME, D_DATE
| having: count() = CAST(2 AS BIGINT)
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=24 row-size=36B cardinality=13.15G cost=77590334921
+| mem-estimate=1.90GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=24 row-size=48B cardinality=13.15G cost=77590334921
| in pipelines: 38(GETNEXT), 26(OPEN), 36(OPEN)
|
37:EXCHANGE [HASH(C_LAST_NAME,C_FIRST_NAME,D_DATE)]
-| mem-estimate=14.69MB mem-reservation=0B thread-reservation=0
-| tuple-ids=24 row-size=36B cardinality=13.15G cost=3637252341
+| mem-estimate=16.09MB mem-reservation=0B thread-reservation=0
+| tuple-ids=24 row-size=48B cardinality=13.15G cost=4360893535
| in pipelines: 26(GETNEXT), 36(GETNEXT)
|
F14:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-Per-Instance Resources: mem-estimate=751.03MB mem-reservation=68.00MB thread-reservation=1
-max-parallelism=120 segment-costs=[12312550098, 68951294500, 78867528967, 37247987841] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
+Per-Instance Resources: mem-estimate=3.23GB mem-reservation=68.00MB thread-reservation=1
+max-parallelism=120 segment-costs=[12312550098, 69565568526, 79290843893, 47378964559] cpu-comparison-result=360 [max(120 (self) vs 360 (sum children))]
21:AGGREGATE [STREAMING]
| output: count()
| group by: C_LAST_NAME, C_FIRST_NAME, D_DATE
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=24 row-size=36B cardinality=13.15G cost=77590334921
+| mem-estimate=1.52GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=24 row-size=48B cardinality=13.15G cost=77590334921
| in pipelines: 26(GETNEXT), 36(GETNEXT)
|
00:UNION
| pass-through-operands: 26
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=23 row-size=28B cardinality=13.15G cost=1277194046
+| tuple-ids=23 row-size=40B cardinality=13.15G cost=1700508972
| in pipelines: 26(GETNEXT), 36(GETNEXT)
|
|--36:AGGREGATE [FINALIZE]
| | output: count:merge()
| | group by: C_LAST_NAME, C_FIRST_NAME, D_DATE
| | having: count() = CAST(2 AS BIGINT)
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=15 row-size=36B cardinality=11.16G cost=65863756561
+| | mem-estimate=1.67GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=15 row-size=48B cardinality=11.16G cost=65863756561
| | in pipelines: 36(GETNEXT), 30(OPEN), 34(OPEN)
| |
| 35:EXCHANGE [HASH(C_LAST_NAME,C_FIRST_NAME,D_DATE)]
-| | mem-estimate=14.69MB mem-reservation=0B thread-reservation=0
-| | tuple-ids=15 row-size=36B cardinality=11.16G cost=3087537939
+| | mem-estimate=16.09MB mem-reservation=0B thread-reservation=0
+| | tuple-ids=15 row-size=48B cardinality=11.16G cost=3701811965
| | in pipelines: 30(GETNEXT), 34(GETNEXT)
| |
| F12:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| Per-Instance Resources: mem-estimate=1.26GB mem-reservation=68.00MB thread-reservation=1
-| max-parallelism=120 segment-costs=[44821945517, 24332992738, 65863756561, 31618530917] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
+| Per-Instance Resources: mem-estimate=2.49GB mem-reservation=68.00MB thread-reservation=1
+| max-parallelism=120 segment-costs=[44821945517, 24332992738, 65863756561, 40218367288] cpu-comparison-result=240 [max(120 (self) vs 240 (sum children))]
| 14:AGGREGATE [STREAMING]
| | output: count()
| | group by: C_LAST_NAME, C_FIRST_NAME, D_DATE
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| | tuple-ids=15 row-size=36B cardinality=11.16G cost=65863756561
+| | mem-estimate=1.35GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | tuple-ids=15 row-size=48B cardinality=11.16G cost=65863756561
| | in pipelines: 30(GETNEXT), 34(GETNEXT)
| |
| 01:UNION
| | pass-through-operands: all
| | mem-estimate=0B mem-reservation=0B thread-reservation=0
-| | tuple-ids=14 row-size=28B cardinality=11.16G cost=0
+| | tuple-ids=14 row-size=40B cardinality=11.16G cost=0
| | in pipelines: 30(GETNEXT), 34(GETNEXT)
| |
| |--34:AGGREGATE [FINALIZE]
@@ -1131,7 +1131,7 @@ max-parallelism=120 segment-costs=[12312550098, 68951294500, 78867528967, 372479
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M
+| extrapolated-rows=disabled max-scan-range-rows=12.31M
| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk IS NOT NULL
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| tuple-ids=0 row-size=8B cardinality=7.57G(filtered from 7.88G) cost=1182183990
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q49.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q49.test
index e36d109f1..a1add03f2 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q49.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q49.test
@@ -129,8 +129,8 @@ select channel, item, return_ratio, return_rank, currency_rank from
# end query 49 in stream 0 using template query49.tpl
---- PLAN
-Max Per-Host Resource Reservation: Memory=183.19MB Threads=1
-Per-Host Resource Estimates: Memory=3.35GB
+Max Per-Host Resource Reservation: Memory=140.94MB Threads=1
+Per-Host Resource Estimates: Memory=3.23GB
ImpalaSortRel(sort0=[$0], sort1=[$3], sort2=[$4], sort3=[$1], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0, 1, 2, 3, 4}])
ImpalaUnionRel(all=[true])
@@ -191,7 +191,7 @@ ImpalaSortRel(sort0=[$0], sort1=[$3], sort2=[$4], sort3=[$1], dir0=[ASC], dir1=[
ImpalaFilterRel(condition=[AND(=($6, 2000), =($8, 11), IS NOT NULL($0))])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, date_dim]])
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=3.35GB mem-reservation=183.19MB thread-reservation=1 runtime-filters-memory=54.00MB
+| Per-Instance Resources: mem-estimate=3.23GB mem-reservation=140.94MB thread-reservation=1 runtime-filters-memory=54.00MB
| max-parallelism=1 segment-costs=[708844407, 961356, 1446879, 180850795, 341279, 513638, 360349665, 676758, 1018547, 994746, 1164496, 676429, 500]
PLAN-ROOT SINK
| output exprs: CHANNEL, ITEM, RETURN_RATIO, RETURN_RANK, CURRENCY_RANK
@@ -205,7 +205,7 @@ PLAN-ROOT SINK
|
36:AGGREGATE [FINALIZE]
| group by: CHANNEL, ITEM, RETURN_RATIO, RETURN_RANK, CURRENCY_RANK
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
| tuple-ids=54 row-size=48B cardinality=74.16K cost=437730
| in pipelines: 36(GETNEXT), 24(OPEN), 33(OPEN)
|
@@ -308,7 +308,7 @@ PLAN-ROOT SINK
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=108(filtered from 1823)
+| extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=108(filtered from 1823)
| parquet statistics predicates: tpcds_partitioned_parquet_snap.store_sales.ss_net_paid > CAST(0 AS DECIMAL(7,2)), tpcds_partitioned_parquet_snap.store_sales.ss_net_profit > CAST(1.00 AS DECIMAL(7,2)), tpcds_partitioned_parquet_snap.store_sales.ss_quantity > CAST(0 AS INT)
| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_net_paid > CAST(0 AS DECIMAL(7,2)), tpcds_partitioned_parquet_snap.store_sales.ss_net_profit > CAST(1.00 AS DECIMAL(7,2)), tpcds_partitioned_parquet_snap.store_sales.ss_quantity > CAST(0 AS INT), tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL, tpcds_partitioned_parquet_snap.store_sales.ss_ticket_number IS NOT NULL
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
@@ -317,7 +317,7 @@ PLAN-ROOT SINK
|
24:AGGREGATE [FINALIZE]
| group by: CHANNEL, ITEM, RETURN_RATIO, RETURN_RANK, CURRENCY_RANK
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| tuple-ids=35 row-size=48B cardinality=38.14K cost=225131
| in pipelines: 24(GETNEXT), 10(OPEN), 21(OPEN)
|
@@ -526,8 +526,8 @@ PLAN-ROOT SINK
tuple-ids=2 row-size=28B cardinality=12.79M(filtered from 215.94M) cost=69517068
in pipelines: 03(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=357.03MB Threads=36
-Per-Host Resource Estimates: Memory=1.48GB
+Max Per-Host Resource Reservation: Memory=302.28MB Threads=36
+Per-Host Resource Estimates: Memory=1.25GB
ImpalaSortRel(sort0=[$0], sort1=[$3], sort2=[$4], sort3=[$1], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0, 1, 2, 3, 4}])
ImpalaUnionRel(all=[true])
@@ -588,7 +588,7 @@ ImpalaSortRel(sort0=[$0], sort1=[$3], sort2=[$4], sort3=[$1], dir0=[ASC], dir1=[
ImpalaFilterRel(condition=[AND(=($6, 2000), =($8, 11), IS NOT NULL($0))])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, date_dim]])
F19:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=280.31MB mem-reservation=82.00MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=44.31MB mem-reservation=27.25MB thread-reservation=1
| max-parallelism=1 segment-costs=[1575427, 559272, 1109040, 994746, 1164496, 676429, 500] cpu-comparison-result=163 [max(1 (self) vs 163 (sum children))]
PLAN-ROOT SINK
| output exprs: CHANNEL, ITEM, RETURN_RATIO, RETURN_RANK, CURRENCY_RANK
@@ -602,7 +602,7 @@ PLAN-ROOT SINK
|
36:AGGREGATE [FINALIZE]
| group by: CHANNEL, ITEM, RETURN_RATIO, RETURN_RANK, CURRENCY_RANK
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
| tuple-ids=54 row-size=48B cardinality=74.16K cost=437730
| in pipelines: 36(GETNEXT), 24(OPEN), 33(OPEN)
|
@@ -772,7 +772,7 @@ PLAN-ROOT SINK
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=108(filtered from 1823)
+| extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=108(filtered from 1823)
| parquet statistics predicates: tpcds_partitioned_parquet_snap.store_sales.ss_net_paid > CAST(0 AS DECIMAL(7,2)), tpcds_partitioned_parquet_snap.store_sales.ss_net_profit > CAST(1.00 AS DECIMAL(7,2)), tpcds_partitioned_parquet_snap.store_sales.ss_quantity > CAST(0 AS INT)
| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_net_paid > CAST(0 AS DECIMAL(7,2)), tpcds_partitioned_parquet_snap.store_sales.ss_net_profit > CAST(1.00 AS DECIMAL(7,2)), tpcds_partitioned_parquet_snap.store_sales.ss_quantity > CAST(0 AS INT), tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL, tpcds_partitioned_parquet_snap.store_sales.ss_ticket_number IS NOT NULL
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
@@ -781,7 +781,7 @@ PLAN-ROOT SINK
|
24:AGGREGATE [FINALIZE]
| group by: CHANNEL, ITEM, RETURN_RATIO, RETURN_RANK, CURRENCY_RANK
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| tuple-ids=35 row-size=48B cardinality=38.14K cost=225131
| in pipelines: 24(GETNEXT), 10(OPEN), 21(OPEN)
|
@@ -1124,8 +1124,8 @@ max-parallelism=20 segment-costs=[121224622]
tuple-ids=2 row-size=28B cardinality=12.79M(filtered from 215.94M) cost=69517068
in pipelines: 03(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=357.03MB Threads=36
-Per-Host Resource Estimates: Memory=1.48GB
+Max Per-Host Resource Reservation: Memory=302.28MB Threads=36
+Per-Host Resource Estimates: Memory=1.25GB
ImpalaSortRel(sort0=[$0], sort1=[$3], sort2=[$4], sort3=[$1], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0, 1, 2, 3, 4}])
ImpalaUnionRel(all=[true])
@@ -1186,7 +1186,7 @@ ImpalaSortRel(sort0=[$0], sort1=[$3], sort2=[$4], sort3=[$1], dir0=[ASC], dir1=[
ImpalaFilterRel(condition=[AND(=($6, 2000), =($8, 11), IS NOT NULL($0))])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, date_dim]])
F19:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=280.31MB mem-reservation=82.00MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=44.31MB mem-reservation=27.25MB thread-reservation=1
| max-parallelism=1 segment-costs=[1575427, 559272, 1109040, 994746, 1164496, 676429, 500] cpu-comparison-result=163 [max(1 (self) vs 163 (sum children))]
PLAN-ROOT SINK
| output exprs: CHANNEL, ITEM, RETURN_RATIO, RETURN_RANK, CURRENCY_RANK
@@ -1200,7 +1200,7 @@ PLAN-ROOT SINK
|
36:AGGREGATE [FINALIZE]
| group by: CHANNEL, ITEM, RETURN_RATIO, RETURN_RANK, CURRENCY_RANK
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
| tuple-ids=54 row-size=48B cardinality=74.16K cost=437730
| in pipelines: 36(GETNEXT), 24(OPEN), 33(OPEN)
|
@@ -1370,7 +1370,7 @@ PLAN-ROOT SINK
| table: rows=8.64G size=389.90GB
| partitions: 1823/1823 rows=8.25G
| columns: all
-| extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=108(filtered from 1823)
+| extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=108(filtered from 1823)
| parquet statistics predicates: tpcds_partitioned_parquet_snap.store_sales.ss_net_paid > CAST(0 AS DECIMAL(7,2)), tpcds_partitioned_parquet_snap.store_sales.ss_net_profit > CAST(1.00 AS DECIMAL(7,2)), tpcds_partitioned_parquet_snap.store_sales.ss_quantity > CAST(0 AS INT)
| parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_net_paid > CAST(0 AS DECIMAL(7,2)), tpcds_partitioned_parquet_snap.store_sales.ss_net_profit > CAST(1.00 AS DECIMAL(7,2)), tpcds_partitioned_parquet_snap.store_sales.ss_quantity > CAST(0 AS INT), tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL, tpcds_partitioned_parquet_snap.store_sales.ss_ticket_number IS NOT NULL
| mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
@@ -1379,7 +1379,7 @@ PLAN-ROOT SINK
|
24:AGGREGATE [FINALIZE]
| group by: CHANNEL, ITEM, RETURN_RATIO, RETURN_RANK, CURRENCY_RANK
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
| tuple-ids=35 row-size=48B cardinality=38.14K cost=225131
| in pipelines: 24(GETNEXT), 10(OPEN), 21(OPEN)
|
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q56.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q56.test
index 0bfe852d9..217a24c88 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q56.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q56.test
@@ -70,7 +70,7 @@ where i_color in ('tan','lace','gainsboro'))
# end query 56 in stream 0 using template query56.tpl
---- PLAN
Max Per-Host Resource Reservation: Memory=136.38MB Threads=1
-Per-Host Resource Estimates: Memory=325MB
+Per-Host Resource Estimates: Memory=231MB
ImpalaSortRel(sort0=[$1], sort1=[$0], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0}], TOTAL_SALES=[SUM($1)])
ImpalaUnionRel(all=[true])
@@ -151,29 +151,29 @@ ImpalaSortRel(sort0=[$1], sort1=[$0], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT
ImpalaFilterRel(condition=[SEARCH($17, Sarg[_UTF-8'gainsboro':VARCHAR(2147483647) CHARACTER SET "UTF-8", _UTF-8'lace':VARCHAR(2147483647) CHARACTER SET "UTF-8", _UTF-8'tan':VARCHAR(2147483647) CHARACTER SET "UTF-8"]:VARCHAR(2147483647) CHARACTER SET "UTF-8")])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, item]])
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=325.38MB mem-reservation=136.38MB thread-reservation=1 runtime-filters-memory=13.00MB
-| max-parallelism=1 segment-costs=[474672662, 256076103, 132304143, 1614300, 5990794, 200]
+| Per-Instance Resources: mem-estimate=231.38MB mem-reservation=136.38MB thread-reservation=1 runtime-filters-memory=13.00MB
+| max-parallelism=1 segment-costs=[474672662, 256076103, 132304143, 1130479, 3871459, 200]
PLAN-ROOT SINK
| output exprs: I_ITEM_ID, sum(TOTAL_SALES)
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=200
|
33:TOP-N [LIMIT=100]
| order by: sum(TOTAL_SALES) ASC NULLS LAST, I_ITEM_ID ASC NULLS LAST
-| mem-estimate=2.73KB mem-reservation=0B thread-reservation=0
-| tuple-ids=36 row-size=28B cardinality=100 cost=5990794
+| mem-estimate=4.30KB mem-reservation=0B thread-reservation=0
+| tuple-ids=36 row-size=44B cardinality=100 cost=3871459
| in pipelines: 33(GETNEXT), 32(OPEN)
|
32:AGGREGATE [FINALIZE]
| output: sum(TOTAL_SALES)
| group by: I_ITEM_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=35 row-size=28B cardinality=556.71K cost=1614300
+| mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=35 row-size=44B cardinality=371.14K cost=1130479
| in pipelines: 32(GETNEXT), 11(OPEN), 21(OPEN), 31(OPEN)
|
00:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=34 row-size=28B cardinality=556.71K cost=0
+| tuple-ids=34 row-size=44B cardinality=556.71K cost=0
| in pipelines: 11(GETNEXT), 21(GETNEXT), 31(GETNEXT)
|
|--31:AGGREGATE [FINALIZE]
@@ -284,7 +284,7 @@ PLAN-ROOT SINK
01:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=22 row-size=28B cardinality=371.14K cost=0
+| tuple-ids=22 row-size=44B cardinality=371.14K cost=0
| in pipelines: 11(GETNEXT), 21(GETNEXT)
|
|--21:AGGREGATE [FINALIZE]
@@ -491,14 +491,14 @@ PLAN-ROOT SINK
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=108(filtered from 1823)
+ extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=108(filtered from 1823)
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_addr_sk IS NOT NULL, tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=2 row-size=16B cardinality=76.41M(filtered from 7.88G) cost=139995472
in pipelines: 03(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=1.03GB Threads=41
-Per-Host Resource Estimates: Memory=2.20GB
+Max Per-Host Resource Reservation: Memory=862.50MB Threads=41
+Per-Host Resource Estimates: Memory=1.51GB
ImpalaSortRel(sort0=[$1], sort1=[$0], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0}], TOTAL_SALES=[SUM($1)])
ImpalaUnionRel(all=[true])
@@ -579,8 +579,8 @@ ImpalaSortRel(sort0=[$1], sort1=[$0], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT
ImpalaFilterRel(condition=[SEARCH($17, Sarg[_UTF-8'gainsboro':VARCHAR(2147483647) CHARACTER SET "UTF-8", _UTF-8'lace':VARCHAR(2147483647) CHARACTER SET "UTF-8", _UTF-8'tan':VARCHAR(2147483647) CHARACTER SET "UTF-8"]:VARCHAR(2147483647) CHARACTER SET "UTF-8")])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, item]])
F21:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=4.03MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[230] cpu-comparison-result=177 [max(1 (self) vs 177 (sum children))]
+| Per-Instance Resources: mem-estimate=4.05MB mem-reservation=4.00MB thread-reservation=1
+| max-parallelism=1 segment-costs=[234] cpu-comparison-result=177 [max(1 (self) vs 177 (sum children))]
PLAN-ROOT SINK
| output exprs: I_ITEM_ID, sum(TOTAL_SALES)
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=200
@@ -588,45 +588,45 @@ PLAN-ROOT SINK
54:MERGING-EXCHANGE [UNPARTITIONED]
| order by: sum(TOTAL_SALES) ASC NULLS LAST, I_ITEM_ID ASC NULLS LAST
| limit: 100
-| mem-estimate=31.52KB mem-reservation=0B thread-reservation=0
-| tuple-ids=36 row-size=28B cardinality=100 cost=30
+| mem-estimate=47.30KB mem-reservation=0B thread-reservation=0
+| tuple-ids=36 row-size=44B cardinality=100 cost=34
| in pipelines: 33(GETNEXT)
|
F20:PLAN FRAGMENT [HASH(I_ITEM_ID)] hosts=10 instances=10 (adjusted from 120)
-Per-Instance Resources: mem-estimate=131.05MB mem-reservation=34.00MB thread-reservation=1
-max-parallelism=10 segment-costs=[1747855, 5990794, 104] cpu-comparison-result=177 [max(10 (self) vs 177 (sum children))]
+Per-Instance Resources: mem-estimate=14.67MB mem-reservation=2.88MB thread-reservation=1
+max-parallelism=10 segment-costs=[1303025, 3871459, 146] cpu-comparison-result=177 [max(10 (self) vs 177 (sum children))]
33:TOP-N [LIMIT=100]
| order by: sum(TOTAL_SALES) ASC NULLS LAST, I_ITEM_ID ASC NULLS LAST
-| mem-estimate=2.73KB mem-reservation=0B thread-reservation=0
-| tuple-ids=36 row-size=28B cardinality=100 cost=5990794
+| mem-estimate=4.30KB mem-reservation=0B thread-reservation=0
+| tuple-ids=36 row-size=44B cardinality=100 cost=3871459
| in pipelines: 33(GETNEXT), 53(OPEN)
|
53:AGGREGATE [FINALIZE]
| output: sum:merge(TOTAL_SALES)
| group by: I_ITEM_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=35 row-size=28B cardinality=556.71K cost=1614300
+| mem-estimate=10.00MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
+| tuple-ids=35 row-size=44B cardinality=371.14K cost=1129522
| in pipelines: 53(GETNEXT), 39(OPEN), 45(OPEN), 51(OPEN)
|
52:EXCHANGE [HASH(I_ITEM_ID)]
-| mem-estimate=3.05MB mem-reservation=0B thread-reservation=0
-| tuple-ids=35 row-size=28B cardinality=556.71K cost=133555
+| mem-estimate=4.67MB mem-reservation=0B thread-reservation=0
+| tuple-ids=35 row-size=44B cardinality=553.44K cost=173503
| in pipelines: 39(GETNEXT), 45(GETNEXT), 51(GETNEXT)
|
F19:PLAN FRAGMENT [RANDOM] hosts=10 instances=50 (adjusted from 120)
-Per-Instance Resources: mem-estimate=151.59MB mem-reservation=42.50MB thread-reservation=1
-max-parallelism=50 segment-costs=[3010258, 1915022, 1229054, 1614300, 1290683] cpu-comparison-result=177 [max(50 (self) vs 177 (sum children))]
+Per-Instance Resources: mem-estimate=34.22MB mem-reservation=10.50MB thread-reservation=1
+max-parallelism=50 segment-costs=[3010258, 1915022, 1229054, 1605767, 1853359] cpu-comparison-result=177 [max(50 (self) vs 177 (sum children))]
32:AGGREGATE [STREAMING]
| output: sum(TOTAL_SALES)
| group by: I_ITEM_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=35 row-size=28B cardinality=556.71K cost=1614300
+| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=35 row-size=44B cardinality=553.44K cost=1605767
| in pipelines: 39(GETNEXT), 45(GETNEXT), 51(GETNEXT)
|
00:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=34 row-size=28B cardinality=556.71K cost=0
+| tuple-ids=34 row-size=44B cardinality=556.71K cost=0
| in pipelines: 39(GETNEXT), 45(GETNEXT), 51(GETNEXT)
|
|--51:AGGREGATE [FINALIZE]
@@ -822,7 +822,7 @@ max-parallelism=50 segment-costs=[3010258, 1915022, 1229054, 1614300, 1290683] c
01:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=22 row-size=28B cardinality=371.14K cost=0
+| tuple-ids=22 row-size=44B cardinality=371.14K cost=0
| in pipelines: 39(GETNEXT), 45(GETNEXT)
|
|--45:AGGREGATE [FINALIZE]
@@ -1199,14 +1199,14 @@ max-parallelism=50 segment-costs=[479436942, 13961281] cpu-comparison-result=59
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=108(filtered from 1823)
+ extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=108(filtered from 1823)
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_addr_sk IS NOT NULL, tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=2 row-size=16B cardinality=76.41M(filtered from 7.88G) cost=139995472
in pipelines: 03(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=1.03GB Threads=41
-Per-Host Resource Estimates: Memory=2.20GB
+Max Per-Host Resource Reservation: Memory=862.50MB Threads=41
+Per-Host Resource Estimates: Memory=1.51GB
ImpalaSortRel(sort0=[$1], sort1=[$0], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0}], TOTAL_SALES=[SUM($1)])
ImpalaUnionRel(all=[true])
@@ -1287,8 +1287,8 @@ ImpalaSortRel(sort0=[$1], sort1=[$0], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT
ImpalaFilterRel(condition=[SEARCH($17, Sarg[_UTF-8'gainsboro':VARCHAR(2147483647) CHARACTER SET "UTF-8", _UTF-8'lace':VARCHAR(2147483647) CHARACTER SET "UTF-8", _UTF-8'tan':VARCHAR(2147483647) CHARACTER SET "UTF-8"]:VARCHAR(2147483647) CHARACTER SET "UTF-8")])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, item]])
F21:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=4.03MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[230] cpu-comparison-result=177 [max(1 (self) vs 177 (sum children))]
+| Per-Instance Resources: mem-estimate=4.05MB mem-reservation=4.00MB thread-reservation=1
+| max-parallelism=1 segment-costs=[234] cpu-comparison-result=177 [max(1 (self) vs 177 (sum children))]
PLAN-ROOT SINK
| output exprs: I_ITEM_ID, sum(TOTAL_SALES)
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=200
@@ -1296,45 +1296,45 @@ PLAN-ROOT SINK
54:MERGING-EXCHANGE [UNPARTITIONED]
| order by: sum(TOTAL_SALES) ASC NULLS LAST, I_ITEM_ID ASC NULLS LAST
| limit: 100
-| mem-estimate=31.52KB mem-reservation=0B thread-reservation=0
-| tuple-ids=36 row-size=28B cardinality=100 cost=30
+| mem-estimate=47.30KB mem-reservation=0B thread-reservation=0
+| tuple-ids=36 row-size=44B cardinality=100 cost=34
| in pipelines: 33(GETNEXT)
|
F20:PLAN FRAGMENT [HASH(I_ITEM_ID)] hosts=10 instances=10 (adjusted from 120)
-Per-Instance Resources: mem-estimate=131.05MB mem-reservation=34.00MB thread-reservation=1
-max-parallelism=10 segment-costs=[1747855, 5990794, 104] cpu-comparison-result=177 [max(10 (self) vs 177 (sum children))]
+Per-Instance Resources: mem-estimate=14.67MB mem-reservation=2.88MB thread-reservation=1
+max-parallelism=10 segment-costs=[1303025, 3871459, 146] cpu-comparison-result=177 [max(10 (self) vs 177 (sum children))]
33:TOP-N [LIMIT=100]
| order by: sum(TOTAL_SALES) ASC NULLS LAST, I_ITEM_ID ASC NULLS LAST
-| mem-estimate=2.73KB mem-reservation=0B thread-reservation=0
-| tuple-ids=36 row-size=28B cardinality=100 cost=5990794
+| mem-estimate=4.30KB mem-reservation=0B thread-reservation=0
+| tuple-ids=36 row-size=44B cardinality=100 cost=3871459
| in pipelines: 33(GETNEXT), 53(OPEN)
|
53:AGGREGATE [FINALIZE]
| output: sum:merge(TOTAL_SALES)
| group by: I_ITEM_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=35 row-size=28B cardinality=556.71K cost=1614300
+| mem-estimate=10.00MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
+| tuple-ids=35 row-size=44B cardinality=371.14K cost=1129522
| in pipelines: 53(GETNEXT), 39(OPEN), 45(OPEN), 51(OPEN)
|
52:EXCHANGE [HASH(I_ITEM_ID)]
-| mem-estimate=3.05MB mem-reservation=0B thread-reservation=0
-| tuple-ids=35 row-size=28B cardinality=556.71K cost=133555
+| mem-estimate=4.67MB mem-reservation=0B thread-reservation=0
+| tuple-ids=35 row-size=44B cardinality=553.44K cost=173503
| in pipelines: 39(GETNEXT), 45(GETNEXT), 51(GETNEXT)
|
F19:PLAN FRAGMENT [RANDOM] hosts=10 instances=50 (adjusted from 120)
-Per-Instance Resources: mem-estimate=151.59MB mem-reservation=42.50MB thread-reservation=1
-max-parallelism=50 segment-costs=[3010258, 1915022, 1229054, 1614300, 1290683] cpu-comparison-result=177 [max(50 (self) vs 177 (sum children))]
+Per-Instance Resources: mem-estimate=34.22MB mem-reservation=10.50MB thread-reservation=1
+max-parallelism=50 segment-costs=[3010258, 1915022, 1229054, 1605767, 1853359] cpu-comparison-result=177 [max(50 (self) vs 177 (sum children))]
32:AGGREGATE [STREAMING]
| output: sum(TOTAL_SALES)
| group by: I_ITEM_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=35 row-size=28B cardinality=556.71K cost=1614300
+| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=35 row-size=44B cardinality=553.44K cost=1605767
| in pipelines: 39(GETNEXT), 45(GETNEXT), 51(GETNEXT)
|
00:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=34 row-size=28B cardinality=556.71K cost=0
+| tuple-ids=34 row-size=44B cardinality=556.71K cost=0
| in pipelines: 39(GETNEXT), 45(GETNEXT), 51(GETNEXT)
|
|--51:AGGREGATE [FINALIZE]
@@ -1530,7 +1530,7 @@ max-parallelism=50 segment-costs=[3010258, 1915022, 1229054, 1614300, 1290683] c
01:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=22 row-size=28B cardinality=371.14K cost=0
+| tuple-ids=22 row-size=44B cardinality=371.14K cost=0
| in pipelines: 39(GETNEXT), 45(GETNEXT)
|
|--45:AGGREGATE [FINALIZE]
@@ -1907,7 +1907,7 @@ max-parallelism=50 segment-costs=[479436942, 13961281] cpu-comparison-result=59
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=108(filtered from 1823)
+ extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=108(filtered from 1823)
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_addr_sk IS NOT NULL, tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=2 row-size=16B cardinality=76.41M(filtered from 7.88G) cost=139995472
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q60.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q60.test
index b76a5f7b9..472eaede9 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q60.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q60.test
@@ -79,7 +79,7 @@ where i_category in ('Men'))
# end query 60 in stream 0 using template query60.tpl
---- PLAN
Max Per-Host Resource Reservation: Memory=139.19MB Threads=1
-Per-Host Resource Estimates: Memory=328MB
+Per-Host Resource Estimates: Memory=234MB
ImpalaSortRel(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0}], TOTAL_SALES=[SUM($1)])
ImpalaUnionRel(all=[true])
@@ -160,29 +160,29 @@ ImpalaSortRel(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT
ImpalaFilterRel(condition=[=($12, _UTF-8'Men')])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, item]])
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=328.19MB mem-reservation=139.19MB thread-reservation=1 runtime-filters-memory=13.00MB
-| max-parallelism=1 segment-costs=[479202794, 258538365, 133565013, 1614300, 5990794, 200]
+| Per-Instance Resources: mem-estimate=234.19MB mem-reservation=139.19MB thread-reservation=1 runtime-filters-memory=13.00MB
+| max-parallelism=1 segment-costs=[479202794, 258538365, 133565013, 1130479, 3871459, 200]
PLAN-ROOT SINK
| output exprs: I_ITEM_ID, sum(TOTAL_SALES)
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=200
|
33:TOP-N [LIMIT=100]
| order by: I_ITEM_ID ASC NULLS LAST, sum(TOTAL_SALES) ASC NULLS LAST
-| mem-estimate=2.73KB mem-reservation=0B thread-reservation=0
-| tuple-ids=36 row-size=28B cardinality=100 cost=5990794
+| mem-estimate=4.30KB mem-reservation=0B thread-reservation=0
+| tuple-ids=36 row-size=44B cardinality=100 cost=3871459
| in pipelines: 33(GETNEXT), 32(OPEN)
|
32:AGGREGATE [FINALIZE]
| output: sum(TOTAL_SALES)
| group by: I_ITEM_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=35 row-size=28B cardinality=556.71K cost=1614300
+| mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=35 row-size=44B cardinality=371.14K cost=1130479
| in pipelines: 32(GETNEXT), 11(OPEN), 21(OPEN), 31(OPEN)
|
00:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=34 row-size=28B cardinality=556.71K cost=0
+| tuple-ids=34 row-size=44B cardinality=556.71K cost=0
| in pipelines: 11(GETNEXT), 21(GETNEXT), 31(GETNEXT)
|
|--31:AGGREGATE [FINALIZE]
@@ -293,7 +293,7 @@ PLAN-ROOT SINK
01:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=22 row-size=28B cardinality=371.14K cost=0
+| tuple-ids=22 row-size=44B cardinality=371.14K cost=0
| in pipelines: 11(GETNEXT), 21(GETNEXT)
|
|--21:AGGREGATE [FINALIZE]
@@ -500,14 +500,14 @@ PLAN-ROOT SINK
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=108(filtered from 1823)
+ extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=108(filtered from 1823)
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_addr_sk IS NOT NULL, tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=2 row-size=16B cardinality=76.41M(filtered from 7.88G) cost=139995472
in pipelines: 03(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=1.34GB Threads=43
-Per-Host Resource Estimates: Memory=2.61GB
+Max Per-Host Resource Reservation: Memory=1.12GB Threads=43
+Per-Host Resource Estimates: Memory=1.81GB
ImpalaSortRel(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0}], TOTAL_SALES=[SUM($1)])
ImpalaUnionRel(all=[true])
@@ -588,8 +588,8 @@ ImpalaSortRel(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT
ImpalaFilterRel(condition=[=($12, _UTF-8'Men')])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, item]])
F21:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=4.03MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[230] cpu-comparison-result=178 [max(1 (self) vs 178 (sum children))]
+| Per-Instance Resources: mem-estimate=4.05MB mem-reservation=4.00MB thread-reservation=1
+| max-parallelism=1 segment-costs=[234] cpu-comparison-result=178 [max(1 (self) vs 178 (sum children))]
PLAN-ROOT SINK
| output exprs: I_ITEM_ID, sum(TOTAL_SALES)
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=200
@@ -597,45 +597,45 @@ PLAN-ROOT SINK
54:MERGING-EXCHANGE [UNPARTITIONED]
| order by: I_ITEM_ID ASC NULLS LAST, sum(TOTAL_SALES) ASC NULLS LAST
| limit: 100
-| mem-estimate=31.52KB mem-reservation=0B thread-reservation=0
-| tuple-ids=36 row-size=28B cardinality=100 cost=30
+| mem-estimate=47.30KB mem-reservation=0B thread-reservation=0
+| tuple-ids=36 row-size=44B cardinality=100 cost=34
| in pipelines: 33(GETNEXT)
|
F20:PLAN FRAGMENT [HASH(I_ITEM_ID)] hosts=10 instances=10 (adjusted from 120)
-Per-Instance Resources: mem-estimate=131.36MB mem-reservation=34.00MB thread-reservation=1
-max-parallelism=10 segment-costs=[1747855, 5990794, 104] cpu-comparison-result=178 [max(10 (self) vs 178 (sum children))]
+Per-Instance Resources: mem-estimate=15.13MB mem-reservation=2.88MB thread-reservation=1
+max-parallelism=10 segment-costs=[1303025, 3871459, 146] cpu-comparison-result=178 [max(10 (self) vs 178 (sum children))]
33:TOP-N [LIMIT=100]
| order by: I_ITEM_ID ASC NULLS LAST, sum(TOTAL_SALES) ASC NULLS LAST
-| mem-estimate=2.73KB mem-reservation=0B thread-reservation=0
-| tuple-ids=36 row-size=28B cardinality=100 cost=5990794
+| mem-estimate=4.30KB mem-reservation=0B thread-reservation=0
+| tuple-ids=36 row-size=44B cardinality=100 cost=3871459
| in pipelines: 33(GETNEXT), 53(OPEN)
|
53:AGGREGATE [FINALIZE]
| output: sum:merge(TOTAL_SALES)
| group by: I_ITEM_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=35 row-size=28B cardinality=556.71K cost=1614300
+| mem-estimate=10.00MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
+| tuple-ids=35 row-size=44B cardinality=371.14K cost=1129522
| in pipelines: 53(GETNEXT), 39(OPEN), 45(OPEN), 51(OPEN)
|
52:EXCHANGE [HASH(I_ITEM_ID)]
-| mem-estimate=3.36MB mem-reservation=0B thread-reservation=0
-| tuple-ids=35 row-size=28B cardinality=556.71K cost=133555
+| mem-estimate=5.13MB mem-reservation=0B thread-reservation=0
+| tuple-ids=35 row-size=44B cardinality=553.44K cost=173503
| in pipelines: 39(GETNEXT), 45(GETNEXT), 51(GETNEXT)
|
F19:PLAN FRAGMENT [RANDOM] hosts=10 instances=60 (adjusted from 120)
-Per-Instance Resources: mem-estimate=159.06MB mem-reservation=51.00MB thread-reservation=1
-max-parallelism=60 segment-costs=[6821513, 4402046, 2636550, 1614300, 1290683] cpu-comparison-result=178 [max(60 (self) vs 178 (sum children))]
+Per-Instance Resources: mem-estimate=41.69MB mem-reservation=19.00MB thread-reservation=1
+max-parallelism=60 segment-costs=[6821513, 4402046, 2636550, 1605767, 1853359] cpu-comparison-result=178 [max(60 (self) vs 178 (sum children))]
32:AGGREGATE [STREAMING]
| output: sum(TOTAL_SALES)
| group by: I_ITEM_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=35 row-size=28B cardinality=556.71K cost=1614300
+| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=35 row-size=44B cardinality=553.44K cost=1605767
| in pipelines: 39(GETNEXT), 45(GETNEXT), 51(GETNEXT)
|
00:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=34 row-size=28B cardinality=556.71K cost=0
+| tuple-ids=34 row-size=44B cardinality=556.71K cost=0
| in pipelines: 39(GETNEXT), 45(GETNEXT), 51(GETNEXT)
|
|--51:AGGREGATE [FINALIZE]
@@ -831,7 +831,7 @@ max-parallelism=60 segment-costs=[6821513, 4402046, 2636550, 1614300, 1290683] c
01:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=22 row-size=28B cardinality=371.14K cost=0
+| tuple-ids=22 row-size=44B cardinality=371.14K cost=0
| in pipelines: 39(GETNEXT), 45(GETNEXT)
|
|--45:AGGREGATE [FINALIZE]
@@ -1208,14 +1208,14 @@ max-parallelism=60 segment-costs=[500337384, 35022554] cpu-comparison-result=60
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=108(filtered from 1823)
+ extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=108(filtered from 1823)
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_addr_sk IS NOT NULL, tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=2 row-size=16B cardinality=76.41M(filtered from 7.88G) cost=139995472
in pipelines: 03(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=1.34GB Threads=43
-Per-Host Resource Estimates: Memory=2.61GB
+Max Per-Host Resource Reservation: Memory=1.12GB Threads=43
+Per-Host Resource Estimates: Memory=1.81GB
ImpalaSortRel(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0}], TOTAL_SALES=[SUM($1)])
ImpalaUnionRel(all=[true])
@@ -1296,8 +1296,8 @@ ImpalaSortRel(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT
ImpalaFilterRel(condition=[=($12, _UTF-8'Men')])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, item]])
F21:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=4.03MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[230] cpu-comparison-result=178 [max(1 (self) vs 178 (sum children))]
+| Per-Instance Resources: mem-estimate=4.05MB mem-reservation=4.00MB thread-reservation=1
+| max-parallelism=1 segment-costs=[234] cpu-comparison-result=178 [max(1 (self) vs 178 (sum children))]
PLAN-ROOT SINK
| output exprs: I_ITEM_ID, sum(TOTAL_SALES)
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=200
@@ -1305,45 +1305,45 @@ PLAN-ROOT SINK
54:MERGING-EXCHANGE [UNPARTITIONED]
| order by: I_ITEM_ID ASC NULLS LAST, sum(TOTAL_SALES) ASC NULLS LAST
| limit: 100
-| mem-estimate=31.52KB mem-reservation=0B thread-reservation=0
-| tuple-ids=36 row-size=28B cardinality=100 cost=30
+| mem-estimate=47.30KB mem-reservation=0B thread-reservation=0
+| tuple-ids=36 row-size=44B cardinality=100 cost=34
| in pipelines: 33(GETNEXT)
|
F20:PLAN FRAGMENT [HASH(I_ITEM_ID)] hosts=10 instances=10 (adjusted from 120)
-Per-Instance Resources: mem-estimate=131.36MB mem-reservation=34.00MB thread-reservation=1
-max-parallelism=10 segment-costs=[1747855, 5990794, 104] cpu-comparison-result=178 [max(10 (self) vs 178 (sum children))]
+Per-Instance Resources: mem-estimate=15.13MB mem-reservation=2.88MB thread-reservation=1
+max-parallelism=10 segment-costs=[1303025, 3871459, 146] cpu-comparison-result=178 [max(10 (self) vs 178 (sum children))]
33:TOP-N [LIMIT=100]
| order by: I_ITEM_ID ASC NULLS LAST, sum(TOTAL_SALES) ASC NULLS LAST
-| mem-estimate=2.73KB mem-reservation=0B thread-reservation=0
-| tuple-ids=36 row-size=28B cardinality=100 cost=5990794
+| mem-estimate=4.30KB mem-reservation=0B thread-reservation=0
+| tuple-ids=36 row-size=44B cardinality=100 cost=3871459
| in pipelines: 33(GETNEXT), 53(OPEN)
|
53:AGGREGATE [FINALIZE]
| output: sum:merge(TOTAL_SALES)
| group by: I_ITEM_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=35 row-size=28B cardinality=556.71K cost=1614300
+| mem-estimate=10.00MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
+| tuple-ids=35 row-size=44B cardinality=371.14K cost=1129522
| in pipelines: 53(GETNEXT), 39(OPEN), 45(OPEN), 51(OPEN)
|
52:EXCHANGE [HASH(I_ITEM_ID)]
-| mem-estimate=3.36MB mem-reservation=0B thread-reservation=0
-| tuple-ids=35 row-size=28B cardinality=556.71K cost=133555
+| mem-estimate=5.13MB mem-reservation=0B thread-reservation=0
+| tuple-ids=35 row-size=44B cardinality=553.44K cost=173503
| in pipelines: 39(GETNEXT), 45(GETNEXT), 51(GETNEXT)
|
F19:PLAN FRAGMENT [RANDOM] hosts=10 instances=60 (adjusted from 120)
-Per-Instance Resources: mem-estimate=159.06MB mem-reservation=51.00MB thread-reservation=1
-max-parallelism=60 segment-costs=[6821513, 4402046, 2636550, 1614300, 1290683] cpu-comparison-result=178 [max(60 (self) vs 178 (sum children))]
+Per-Instance Resources: mem-estimate=41.69MB mem-reservation=19.00MB thread-reservation=1
+max-parallelism=60 segment-costs=[6821513, 4402046, 2636550, 1605767, 1853359] cpu-comparison-result=178 [max(60 (self) vs 178 (sum children))]
32:AGGREGATE [STREAMING]
| output: sum(TOTAL_SALES)
| group by: I_ITEM_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=35 row-size=28B cardinality=556.71K cost=1614300
+| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=35 row-size=44B cardinality=553.44K cost=1605767
| in pipelines: 39(GETNEXT), 45(GETNEXT), 51(GETNEXT)
|
00:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=34 row-size=28B cardinality=556.71K cost=0
+| tuple-ids=34 row-size=44B cardinality=556.71K cost=0
| in pipelines: 39(GETNEXT), 45(GETNEXT), 51(GETNEXT)
|
|--51:AGGREGATE [FINALIZE]
@@ -1539,7 +1539,7 @@ max-parallelism=60 segment-costs=[6821513, 4402046, 2636550, 1614300, 1290683] c
01:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=22 row-size=28B cardinality=371.14K cost=0
+| tuple-ids=22 row-size=44B cardinality=371.14K cost=0
| in pipelines: 39(GETNEXT), 45(GETNEXT)
|
|--45:AGGREGATE [FINALIZE]
@@ -1916,7 +1916,7 @@ max-parallelism=60 segment-costs=[500337384, 35022554] cpu-comparison-result=60
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M est-scan-range=108(filtered from 1823)
+ extrapolated-rows=disabled max-scan-range-rows=12.31M est-scan-range=108(filtered from 1823)
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_addr_sk IS NOT NULL, tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=2 row-size=16B cardinality=76.41M(filtered from 7.88G) cost=139995472
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q66.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q66.test
index d460dbdb3..0a6ecd7ed 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q66.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q66.test
@@ -220,8 +220,8 @@ select
# end query 66 in stream 0 using template query66.tpl
---- PLAN
-Max Per-Host Resource Reservation: Memory=84.00MB Threads=1
-Per-Host Resource Estimates: Memory=656MB
+Max Per-Host Resource Reservation: Memory=51.94MB Threads=1
+Per-Host Resource Estimates: Memory=538MB
ImpalaSortRel(sort0=[$0], dir0=[ASC], fetch=[100:TINYINT])
ImpalaProjectRel(W_WAREHOUSE_NAME=[$0], W_WAREHOUSE_SQ_FT=[$1], W_CITY=[$2], W_COUNTY=[$3], W_STATE=[$4], W_COUNTRY=[$5], SHIP_CARRIERS=[CAST(_UTF-8'HARMSTORF,USPS':VARCHAR(2147483647) CHARACTER SET "UTF-8"):VARCHAR(2147483647) CHARACTER SET "UTF-8"], YEAR=[CAST(2002):INTEGER], JAN_SALES=[$6], FEB_SALES=[$7], MAR_SALES=[$8], APR_SALES=[$9], MAY_SALES=[$10], JUN_SALES=[$11], JUL_SALES=[$12], AUG_SALES=[$13], SEP_SALES=[$14], OCT_SALES=[$15], NOV_SALES=[$16], DEC_SALES=[$17], JAN_SALES_P [...]
ImpalaAggRel(group=[{0, 1, 2, 3, 4, 5}], JAN_SALES=[SUM($6)], FEB_SALES=[SUM($7)], MAR_SALES=[SUM($8)], APR_SALES=[SUM($9)], MAY_SALES=[SUM($10)], JUN_SALES=[SUM($11)], JUL_SALES=[SUM($12)], AUG_SALES=[SUM($13)], SEP_SALES=[SUM($14)], OCT_SALES=[SUM($15)], NOV_SALES=[SUM($16)], DEC_SALES=[SUM($17)], JAN_SALES_PER_SQ_FOOT=[SUM($18)], FEB_SALES_PER_SQ_FOOT=[SUM($19)], MAR_SALES_PER_SQ_FOOT=[SUM($20)], APR_SALES_PER_SQ_FOOT=[SUM($21)], MAY_SALES_PER_SQ_FOOT=[SUM($22)], JUN_SALES_PER_SQ_ [...]
@@ -276,7 +276,7 @@ ImpalaSortRel(sort0=[$0], dir0=[ASC], fetch=[100:TINYINT])
ImpalaFilterRel(condition=[IS NOT NULL($0)])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, warehouse]])
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=655.54MB mem-reservation=84.00MB thread-reservation=1 runtime-filters-memory=8.00MB
+| Per-Instance Resources: mem-estimate=537.54MB mem-reservation=51.94MB thread-reservation=1 runtime-filters-memory=8.00MB
| max-parallelism=1 segment-costs=[302175214, 598433433, 367, 135, 1936]
PLAN-ROOT SINK
| output exprs: W_WAREHOUSE_NAME, W_WAREHOUSE_SQ_FT, W_CITY, W_COUNTY, W_STATE, W_COUNTRY, 'HARMSTORF,USPS', CAST(2002 AS INT), sum(JAN_SALES), sum(FEB_SALES), sum(MAR_SALES), sum(APR_SALES), sum(MAY_SALES), sum(JUN_SALES), sum(JUL_SALES), sum(AUG_SALES), sum(SEP_SALES), sum(OCT_SALES), sum(NOV_SALES), sum(DEC_SALES), sum(divide(JAN_SALES, W_WAREHOUSE_SQ_FT)), sum(divide(FEB_SALES, W_WAREHOUSE_SQ_FT)), sum(divide(MAR_SALES, W_WAREHOUSE_SQ_FT)), sum(divide(APR_SALES, W_WAREHOUSE_SQ_FT)), [...]
@@ -284,21 +284,21 @@ PLAN-ROOT SINK
|
22:TOP-N [LIMIT=100]
| order by: W_WAREHOUSE_NAME ASC NULLS LAST
-| mem-estimate=27.50KB mem-reservation=0B thread-reservation=0
-| tuple-ids=24 row-size=640B cardinality=44 cost=135
+| mem-estimate=29.87KB mem-reservation=0B thread-reservation=0
+| tuple-ids=24 row-size=695B cardinality=44 cost=135
| in pipelines: 22(GETNEXT), 21(OPEN)
|
21:AGGREGATE [FINALIZE]
| output: sum(JAN_SALES), sum(FEB_SALES), sum(MAR_SALES), sum(APR_SALES), sum(MAY_SALES), sum(JUN_SALES), sum(JUL_SALES), sum(AUG_SALES), sum(SEP_SALES), sum(OCT_SALES), sum(NOV_SALES), sum(DEC_SALES), sum(divide(JAN_SALES, CAST(W_WAREHOUSE_SQ_FT AS DECIMAL(10,0)))), sum(divide(FEB_SALES, CAST(W_WAREHOUSE_SQ_FT AS DECIMAL(10,0)))), sum(divide(MAR_SALES, CAST(W_WAREHOUSE_SQ_FT AS DECIMAL(10,0)))), sum(divide(APR_SALES, CAST(W_WAREHOUSE_SQ_FT AS DECIMAL(10,0)))), sum(divide(MAY_SALES, CAS [...]
| group by: W_WAREHOUSE_NAME, W_WAREHOUSE_SQ_FT, W_CITY, W_COUNTY, W_STATE, W_COUNTRY
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=23 row-size=640B cardinality=44 cost=367
+| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=23 row-size=695B cardinality=44 cost=367
| in pipelines: 21(GETNEXT), 10(OPEN), 20(OPEN)
|
00:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=22 row-size=448B cardinality=44 cost=0
+| tuple-ids=22 row-size=503B cardinality=44 cost=0
| in pipelines: 10(GETNEXT), 20(GETNEXT)
|
|--20:AGGREGATE [FINALIZE]
@@ -511,8 +511,8 @@ PLAN-ROOT SINK
tuple-ids=0 row-size=28B cardinality=44.03M(filtered from 2.16G) cost=215274115
in pipelines: 01(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=692.27MB Threads=34
-Per-Host Resource Estimates: Memory=3.27GB
+Max Per-Host Resource Reservation: Memory=468.20MB Threads=34
+Per-Host Resource Estimates: Memory=2.47GB
ImpalaSortRel(sort0=[$0], dir0=[ASC], fetch=[100:TINYINT])
ImpalaProjectRel(W_WAREHOUSE_NAME=[$0], W_WAREHOUSE_SQ_FT=[$1], W_CITY=[$2], W_COUNTY=[$3], W_STATE=[$4], W_COUNTRY=[$5], SHIP_CARRIERS=[CAST(_UTF-8'HARMSTORF,USPS':VARCHAR(2147483647) CHARACTER SET "UTF-8"):VARCHAR(2147483647) CHARACTER SET "UTF-8"], YEAR=[CAST(2002):INTEGER], JAN_SALES=[$6], FEB_SALES=[$7], MAR_SALES=[$8], APR_SALES=[$9], MAY_SALES=[$10], JUN_SALES=[$11], JUL_SALES=[$12], AUG_SALES=[$13], SEP_SALES=[$14], OCT_SALES=[$15], NOV_SALES=[$16], DEC_SALES=[$17], JAN_SALES_P [...]
ImpalaAggRel(group=[{0, 1, 2, 3, 4, 5}], JAN_SALES=[SUM($6)], FEB_SALES=[SUM($7)], MAR_SALES=[SUM($8)], APR_SALES=[SUM($9)], MAY_SALES=[SUM($10)], JUN_SALES=[SUM($11)], JUL_SALES=[SUM($12)], AUG_SALES=[SUM($13)], SEP_SALES=[SUM($14)], OCT_SALES=[SUM($15)], NOV_SALES=[SUM($16)], DEC_SALES=[SUM($17)], JAN_SALES_PER_SQ_FOOT=[SUM($18)], FEB_SALES_PER_SQ_FOOT=[SUM($19)], MAR_SALES_PER_SQ_FOOT=[SUM($20)], APR_SALES_PER_SQ_FOOT=[SUM($21)], MAY_SALES_PER_SQ_FOOT=[SUM($22)], JUN_SALES_PER_SQ_ [...]
@@ -567,8 +567,8 @@ ImpalaSortRel(sort0=[$0], dir0=[ASC], fetch=[100:TINYINT])
ImpalaFilterRel(condition=[IS NOT NULL($0)])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, warehouse]])
F14:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=4.27MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[2003] cpu-comparison-result=104 [max(1 (self) vs 104 (sum children))]
+| Per-Instance Resources: mem-estimate=4.30MB mem-reservation=4.00MB thread-reservation=1
+| max-parallelism=1 segment-costs=[2008] cpu-comparison-result=104 [max(1 (self) vs 104 (sum children))]
PLAN-ROOT SINK
| output exprs: W_WAREHOUSE_NAME, W_WAREHOUSE_SQ_FT, W_CITY, W_COUNTY, W_STATE, W_COUNTRY, 'HARMSTORF,USPS', CAST(2002 AS INT), sum(JAN_SALES), sum(FEB_SALES), sum(MAR_SALES), sum(APR_SALES), sum(MAY_SALES), sum(JUN_SALES), sum(JUL_SALES), sum(AUG_SALES), sum(SEP_SALES), sum(OCT_SALES), sum(NOV_SALES), sum(DEC_SALES), sum(divide(JAN_SALES, W_WAREHOUSE_SQ_FT)), sum(divide(FEB_SALES, W_WAREHOUSE_SQ_FT)), sum(divide(MAR_SALES, W_WAREHOUSE_SQ_FT)), sum(divide(APR_SALES, W_WAREHOUSE_SQ_FT)), [...]
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=1936
@@ -576,45 +576,45 @@ PLAN-ROOT SINK
37:MERGING-EXCHANGE [UNPARTITIONED]
| order by: W_WAREHOUSE_NAME ASC NULLS LAST
| limit: 100
-| mem-estimate=279.47KB mem-reservation=0B thread-reservation=0
-| tuple-ids=24 row-size=640B cardinality=44 cost=67
+| mem-estimate=303.45KB mem-reservation=0B thread-reservation=0
+| tuple-ids=24 row-size=695B cardinality=44 cost=72
| in pipelines: 22(GETNEXT)
|
F13:PLAN FRAGMENT [HASH(W_WAREHOUSE_NAME,W_WAREHOUSE_SQ_FT,W_CITY,W_COUNTY,W_STATE,W_COUNTRY)] hosts=10 instances=10 (adjusted from 120)
-Per-Instance Resources: mem-estimate=129.62MB mem-reservation=34.00MB thread-reservation=1
-max-parallelism=10 segment-costs=[501, 135, 751] cpu-comparison-result=104 [max(10 (self) vs 104 (sum children))]
+Per-Instance Resources: mem-estimate=11.76MB mem-reservation=1.94MB thread-reservation=1
+max-parallelism=10 segment-costs=[512, 135, 815] cpu-comparison-result=104 [max(10 (self) vs 104 (sum children))]
22:TOP-N [LIMIT=100]
| order by: W_WAREHOUSE_NAME ASC NULLS LAST
-| mem-estimate=27.50KB mem-reservation=0B thread-reservation=0
-| tuple-ids=24 row-size=640B cardinality=44 cost=135
+| mem-estimate=29.87KB mem-reservation=0B thread-reservation=0
+| tuple-ids=24 row-size=695B cardinality=44 cost=135
| in pipelines: 22(GETNEXT), 36(OPEN)
|
36:AGGREGATE [FINALIZE]
| output: sum:merge(JAN_SALES), sum:merge(FEB_SALES), sum:merge(MAR_SALES), sum:merge(APR_SALES), sum:merge(MAY_SALES), sum:merge(JUN_SALES), sum:merge(JUL_SALES), sum:merge(AUG_SALES), sum:merge(SEP_SALES), sum:merge(OCT_SALES), sum:merge(NOV_SALES), sum:merge(DEC_SALES), sum:merge(divide(JAN_SALES, W_WAREHOUSE_SQ_FT)), sum:merge(divide(FEB_SALES, W_WAREHOUSE_SQ_FT)), sum:merge(divide(MAR_SALES, W_WAREHOUSE_SQ_FT)), sum:merge(divide(APR_SALES, W_WAREHOUSE_SQ_FT)), sum:merge(divide(MAY_ [...]
| group by: W_WAREHOUSE_NAME, W_WAREHOUSE_SQ_FT, W_CITY, W_COUNTY, W_STATE, W_COUNTRY
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=23 row-size=640B cardinality=44 cost=367
+| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=23 row-size=695B cardinality=44 cost=367
| in pipelines: 36(GETNEXT), 28(OPEN), 34(OPEN)
|
35:EXCHANGE [HASH(W_WAREHOUSE_NAME,W_WAREHOUSE_SQ_FT,W_CITY,W_COUNTY,W_STATE,W_COUNTRY)]
-| mem-estimate=1.62MB mem-reservation=0B thread-reservation=0
-| tuple-ids=23 row-size=640B cardinality=44 cost=134
+| mem-estimate=1.76MB mem-reservation=0B thread-reservation=0
+| tuple-ids=23 row-size=695B cardinality=44 cost=145
| in pipelines: 28(GETNEXT), 34(GETNEXT)
|
F12:PLAN FRAGMENT [RANDOM] hosts=10 instances=60 (adjusted from 120)
-Per-Instance Resources: mem-estimate=193.00MB mem-reservation=35.94MB thread-reservation=1
-max-parallelism=60 segment-costs=[14381, 14381, 367, 1836] cpu-comparison-result=104 [max(60 (self) vs 104 (sum children))]
+Per-Instance Resources: mem-estimate=77.16MB mem-reservation=3.94MB thread-reservation=1
+max-parallelism=60 segment-costs=[14381, 14381, 367, 1992] cpu-comparison-result=104 [max(60 (self) vs 104 (sum children))]
21:AGGREGATE [STREAMING]
| output: sum(JAN_SALES), sum(FEB_SALES), sum(MAR_SALES), sum(APR_SALES), sum(MAY_SALES), sum(JUN_SALES), sum(JUL_SALES), sum(AUG_SALES), sum(SEP_SALES), sum(OCT_SALES), sum(NOV_SALES), sum(DEC_SALES), sum(divide(JAN_SALES, CAST(W_WAREHOUSE_SQ_FT AS DECIMAL(10,0)))), sum(divide(FEB_SALES, CAST(W_WAREHOUSE_SQ_FT AS DECIMAL(10,0)))), sum(divide(MAR_SALES, CAST(W_WAREHOUSE_SQ_FT AS DECIMAL(10,0)))), sum(divide(APR_SALES, CAST(W_WAREHOUSE_SQ_FT AS DECIMAL(10,0)))), sum(divide(MAY_SALES, CAS [...]
| group by: W_WAREHOUSE_NAME, W_WAREHOUSE_SQ_FT, W_CITY, W_COUNTY, W_STATE, W_COUNTRY
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=23 row-size=640B cardinality=44 cost=367
+| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=23 row-size=695B cardinality=44 cost=367
| in pipelines: 28(GETNEXT), 34(GETNEXT)
|
00:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=22 row-size=448B cardinality=44 cost=0
+| tuple-ids=22 row-size=503B cardinality=44 cost=0
| in pipelines: 28(GETNEXT), 34(GETNEXT)
|
|--34:AGGREGATE [FINALIZE]
@@ -995,8 +995,8 @@ max-parallelism=40 segment-costs=[302144045, 86917] cpu-comparison-result=44 [ma
tuple-ids=0 row-size=28B cardinality=44.03M(filtered from 2.16G) cost=215274115
in pipelines: 01(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=692.27MB Threads=34
-Per-Host Resource Estimates: Memory=3.27GB
+Max Per-Host Resource Reservation: Memory=468.20MB Threads=34
+Per-Host Resource Estimates: Memory=2.47GB
ImpalaSortRel(sort0=[$0], dir0=[ASC], fetch=[100:TINYINT])
ImpalaProjectRel(W_WAREHOUSE_NAME=[$0], W_WAREHOUSE_SQ_FT=[$1], W_CITY=[$2], W_COUNTY=[$3], W_STATE=[$4], W_COUNTRY=[$5], SHIP_CARRIERS=[CAST(_UTF-8'HARMSTORF,USPS':VARCHAR(2147483647) CHARACTER SET "UTF-8"):VARCHAR(2147483647) CHARACTER SET "UTF-8"], YEAR=[CAST(2002):INTEGER], JAN_SALES=[$6], FEB_SALES=[$7], MAR_SALES=[$8], APR_SALES=[$9], MAY_SALES=[$10], JUN_SALES=[$11], JUL_SALES=[$12], AUG_SALES=[$13], SEP_SALES=[$14], OCT_SALES=[$15], NOV_SALES=[$16], DEC_SALES=[$17], JAN_SALES_P [...]
ImpalaAggRel(group=[{0, 1, 2, 3, 4, 5}], JAN_SALES=[SUM($6)], FEB_SALES=[SUM($7)], MAR_SALES=[SUM($8)], APR_SALES=[SUM($9)], MAY_SALES=[SUM($10)], JUN_SALES=[SUM($11)], JUL_SALES=[SUM($12)], AUG_SALES=[SUM($13)], SEP_SALES=[SUM($14)], OCT_SALES=[SUM($15)], NOV_SALES=[SUM($16)], DEC_SALES=[SUM($17)], JAN_SALES_PER_SQ_FOOT=[SUM($18)], FEB_SALES_PER_SQ_FOOT=[SUM($19)], MAR_SALES_PER_SQ_FOOT=[SUM($20)], APR_SALES_PER_SQ_FOOT=[SUM($21)], MAY_SALES_PER_SQ_FOOT=[SUM($22)], JUN_SALES_PER_SQ_ [...]
@@ -1051,8 +1051,8 @@ ImpalaSortRel(sort0=[$0], dir0=[ASC], fetch=[100:TINYINT])
ImpalaFilterRel(condition=[IS NOT NULL($0)])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, warehouse]])
F14:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=4.27MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[2003] cpu-comparison-result=104 [max(1 (self) vs 104 (sum children))]
+| Per-Instance Resources: mem-estimate=4.30MB mem-reservation=4.00MB thread-reservation=1
+| max-parallelism=1 segment-costs=[2008] cpu-comparison-result=104 [max(1 (self) vs 104 (sum children))]
PLAN-ROOT SINK
| output exprs: W_WAREHOUSE_NAME, W_WAREHOUSE_SQ_FT, W_CITY, W_COUNTY, W_STATE, W_COUNTRY, 'HARMSTORF,USPS', CAST(2002 AS INT), sum(JAN_SALES), sum(FEB_SALES), sum(MAR_SALES), sum(APR_SALES), sum(MAY_SALES), sum(JUN_SALES), sum(JUL_SALES), sum(AUG_SALES), sum(SEP_SALES), sum(OCT_SALES), sum(NOV_SALES), sum(DEC_SALES), sum(divide(JAN_SALES, W_WAREHOUSE_SQ_FT)), sum(divide(FEB_SALES, W_WAREHOUSE_SQ_FT)), sum(divide(MAR_SALES, W_WAREHOUSE_SQ_FT)), sum(divide(APR_SALES, W_WAREHOUSE_SQ_FT)), [...]
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=1936
@@ -1060,45 +1060,45 @@ PLAN-ROOT SINK
37:MERGING-EXCHANGE [UNPARTITIONED]
| order by: W_WAREHOUSE_NAME ASC NULLS LAST
| limit: 100
-| mem-estimate=279.47KB mem-reservation=0B thread-reservation=0
-| tuple-ids=24 row-size=640B cardinality=44 cost=67
+| mem-estimate=303.45KB mem-reservation=0B thread-reservation=0
+| tuple-ids=24 row-size=695B cardinality=44 cost=72
| in pipelines: 22(GETNEXT)
|
F13:PLAN FRAGMENT [HASH(W_WAREHOUSE_NAME,W_WAREHOUSE_SQ_FT,W_CITY,W_COUNTY,W_STATE,W_COUNTRY)] hosts=10 instances=10 (adjusted from 120)
-Per-Instance Resources: mem-estimate=129.62MB mem-reservation=34.00MB thread-reservation=1
-max-parallelism=10 segment-costs=[501, 135, 751] cpu-comparison-result=104 [max(10 (self) vs 104 (sum children))]
+Per-Instance Resources: mem-estimate=11.76MB mem-reservation=1.94MB thread-reservation=1
+max-parallelism=10 segment-costs=[512, 135, 815] cpu-comparison-result=104 [max(10 (self) vs 104 (sum children))]
22:TOP-N [LIMIT=100]
| order by: W_WAREHOUSE_NAME ASC NULLS LAST
-| mem-estimate=27.50KB mem-reservation=0B thread-reservation=0
-| tuple-ids=24 row-size=640B cardinality=44 cost=135
+| mem-estimate=29.87KB mem-reservation=0B thread-reservation=0
+| tuple-ids=24 row-size=695B cardinality=44 cost=135
| in pipelines: 22(GETNEXT), 36(OPEN)
|
36:AGGREGATE [FINALIZE]
| output: sum:merge(JAN_SALES), sum:merge(FEB_SALES), sum:merge(MAR_SALES), sum:merge(APR_SALES), sum:merge(MAY_SALES), sum:merge(JUN_SALES), sum:merge(JUL_SALES), sum:merge(AUG_SALES), sum:merge(SEP_SALES), sum:merge(OCT_SALES), sum:merge(NOV_SALES), sum:merge(DEC_SALES), sum:merge(divide(JAN_SALES, W_WAREHOUSE_SQ_FT)), sum:merge(divide(FEB_SALES, W_WAREHOUSE_SQ_FT)), sum:merge(divide(MAR_SALES, W_WAREHOUSE_SQ_FT)), sum:merge(divide(APR_SALES, W_WAREHOUSE_SQ_FT)), sum:merge(divide(MAY_ [...]
| group by: W_WAREHOUSE_NAME, W_WAREHOUSE_SQ_FT, W_CITY, W_COUNTY, W_STATE, W_COUNTRY
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=23 row-size=640B cardinality=44 cost=367
+| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=23 row-size=695B cardinality=44 cost=367
| in pipelines: 36(GETNEXT), 28(OPEN), 34(OPEN)
|
35:EXCHANGE [HASH(W_WAREHOUSE_NAME,W_WAREHOUSE_SQ_FT,W_CITY,W_COUNTY,W_STATE,W_COUNTRY)]
-| mem-estimate=1.62MB mem-reservation=0B thread-reservation=0
-| tuple-ids=23 row-size=640B cardinality=44 cost=134
+| mem-estimate=1.76MB mem-reservation=0B thread-reservation=0
+| tuple-ids=23 row-size=695B cardinality=44 cost=145
| in pipelines: 28(GETNEXT), 34(GETNEXT)
|
F12:PLAN FRAGMENT [RANDOM] hosts=10 instances=60 (adjusted from 120)
-Per-Instance Resources: mem-estimate=193.00MB mem-reservation=35.94MB thread-reservation=1
-max-parallelism=60 segment-costs=[14381, 14381, 367, 1836] cpu-comparison-result=104 [max(60 (self) vs 104 (sum children))]
+Per-Instance Resources: mem-estimate=77.16MB mem-reservation=3.94MB thread-reservation=1
+max-parallelism=60 segment-costs=[14381, 14381, 367, 1992] cpu-comparison-result=104 [max(60 (self) vs 104 (sum children))]
21:AGGREGATE [STREAMING]
| output: sum(JAN_SALES), sum(FEB_SALES), sum(MAR_SALES), sum(APR_SALES), sum(MAY_SALES), sum(JUN_SALES), sum(JUL_SALES), sum(AUG_SALES), sum(SEP_SALES), sum(OCT_SALES), sum(NOV_SALES), sum(DEC_SALES), sum(divide(JAN_SALES, CAST(W_WAREHOUSE_SQ_FT AS DECIMAL(10,0)))), sum(divide(FEB_SALES, CAST(W_WAREHOUSE_SQ_FT AS DECIMAL(10,0)))), sum(divide(MAR_SALES, CAST(W_WAREHOUSE_SQ_FT AS DECIMAL(10,0)))), sum(divide(APR_SALES, CAST(W_WAREHOUSE_SQ_FT AS DECIMAL(10,0)))), sum(divide(MAY_SALES, CAS [...]
| group by: W_WAREHOUSE_NAME, W_WAREHOUSE_SQ_FT, W_CITY, W_COUNTY, W_STATE, W_COUNTRY
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=23 row-size=640B cardinality=44 cost=367
+| mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=23 row-size=695B cardinality=44 cost=367
| in pipelines: 28(GETNEXT), 34(GETNEXT)
|
00:UNION
| pass-through-operands: all
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=22 row-size=448B cardinality=44 cost=0
+| tuple-ids=22 row-size=503B cardinality=44 cost=0
| in pipelines: 28(GETNEXT), 34(GETNEXT)
|
|--34:AGGREGATE [FINALIZE]
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q75.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q75.test
index 9e42735e6..f199ac9d3 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q75.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q75.test
@@ -71,7 +71,7 @@ WITH all_sales AS (
# end query 75 in stream 0 using template query75.tpl
---- PLAN
Max Per-Host Resource Reservation: Memory=259.38MB Threads=1
-Per-Host Resource Estimates: Memory=31.49GB
+Per-Host Resource Estimates: Memory=34.98GB
ImpalaSortRel(sort0=[$8], sort1=[$9], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT])
ImpalaProjectRel(PREV_YEAR=[$7], YEAR=[$0], I_BRAND_ID=[$1], I_CLASS_ID=[$2], I_CATEGORY_ID=[$3], I_MANUFACT_ID=[$4], PREV_YR_CNT=[$12], CURR_YR_CNT=[$5], SALES_CNT_DIFF=[-($5, $12)], SALES_AMT_DIFF=[-($6, $13)])
ImpalaJoinRel(condition=[AND(=($1, $8), =($2, $9), =($3, $10), =($4, $11), <(/(EXPLICIT_CAST($5), EXPLICIT_CAST($12)), 0.90000000000000000000))], joinType=[inner])
@@ -190,8 +190,8 @@ ImpalaSortRel(sort0=[$8], sort1=[$9], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT
ImpalaFilterRel(condition=[AND(=($12, _UTF-8'Sports'), IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11), IS NOT NULL($13))])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, item]])
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=31.49GB mem-reservation=259.38MB thread-reservation=1 runtime-filters-memory=40.00MB
-| max-parallelism=1 segment-costs=[8379267809, 2942296911, 1783434760, 8379267809, 2942296911, 1783434760, 5169031245, 1000]
+| Per-Instance Resources: mem-estimate=34.98GB mem-reservation=259.38MB thread-reservation=1 runtime-filters-memory=40.00MB
+| max-parallelism=1 segment-costs=[8379267809, 2942296911, 1783434760, 8379267809, 2942296911, 1783434760, 1200983713450503, 1000]
PLAN-ROOT SINK
| output exprs: CAST(2000 AS INT), CAST(2001 AS INT), I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, sum(SALES_CNT), sum(SALES_CNT), subtract(sum(SALES_CNT), sum(SALES_CNT)), subtract(sum(SALES_AMT), sum(SALES_AMT))
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=1000
@@ -199,7 +199,7 @@ PLAN-ROOT SINK
53:TOP-N [LIMIT=100]
| order by: subtract(sum(SALES_CNT), sum(SALES_CNT)) ASC NULLS LAST, subtract(sum(SALES_AMT), sum(SALES_AMT)) ASC NULLS LAST
| mem-estimate=6.25KB mem-reservation=0B thread-reservation=0
-| tuple-ids=58 row-size=64B cardinality=100 cost=4739730078
+| tuple-ids=58 row-size=64B cardinality=100 cost=1192542144784222
| in pipelines: 53(GETNEXT), 25(OPEN)
|
52:HASH JOIN [INNER JOIN]
@@ -208,19 +208,19 @@ PLAN-ROOT SINK
| other join predicates: divide(CAST(sum(SALES_CNT) AS DECIMAL(17,2)), CAST(sum(SALES_CNT) AS DECIMAL(17,2))) < CAST(0.90000000000000000000 AS DECIMAL(37,20))
| runtime filters: RF004[min_max] <- I_BRAND_ID, RF005[min_max] <- I_CATEGORY_ID, RF006[min_max] <- I_CLASS_ID, RF007[min_max] <- I_MANUFACT_ID
| mem-estimate=17.12GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=28,57 row-size=80B cardinality=298.60M cost=429301167
+| tuple-ids=28,57 row-size=80B cardinality=46.58T cost=8441568666281
| in pipelines: 25(GETNEXT), 51(OPEN)
|
|--51:AGGREGATE [FINALIZE]
| | output: sum(SALES_CNT), sum(SALES_AMT)
| | group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=2.25GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=57 row-size=40B cardinality=298.60M cost=1783434760
| | in pipelines: 51(GETNEXT), 50(OPEN)
| |
| 50:AGGREGATE [FINALIZE]
| | group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=851.96MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=56 row-size=28B cardinality=298.60M cost=1762532568
| | in pipelines: 50(GETNEXT), 42(OPEN), 43(OPEN)
| |
@@ -308,7 +308,7 @@ PLAN-ROOT SINK
| |
| 42:AGGREGATE [FINALIZE]
| | group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=799.64MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=46 row-size=28B cardinality=254.71M cost=1503465713
| | in pipelines: 42(GETNEXT), 28(OPEN), 35(OPEN)
| |
@@ -375,7 +375,7 @@ PLAN-ROOT SINK
| | | table: rows=8.64G size=389.90GB
| | | partitions: 1823/1823 rows=8.25G
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk IS NOT NULL
| | | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | | tuple-ids=39 row-size=24B cardinality=819.96M(filtered from 8.25G) cost=3082918054
@@ -472,13 +472,13 @@ PLAN-ROOT SINK
25:AGGREGATE [FINALIZE]
| output: sum(SALES_CNT), sum(SALES_AMT)
| group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=2.25GB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=28 row-size=40B cardinality=298.60M cost=1783434760
| in pipelines: 25(GETNEXT), 24(OPEN)
|
24:AGGREGATE [FINALIZE]
| group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=851.96MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=27 row-size=28B cardinality=298.60M cost=1762532568
| in pipelines: 24(GETNEXT), 16(OPEN), 17(OPEN)
|
@@ -567,7 +567,7 @@ PLAN-ROOT SINK
|
16:AGGREGATE [FINALIZE]
| group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=799.64MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=17 row-size=28B cardinality=254.71M cost=1503465713
| in pipelines: 16(GETNEXT), 02(OPEN), 09(OPEN)
|
@@ -635,7 +635,7 @@ PLAN-ROOT SINK
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=10 row-size=24B cardinality=819.96M(filtered from 8.25G) cost=3082918054
@@ -731,7 +731,7 @@ PLAN-ROOT SINK
in pipelines: 02(GETNEXT)
---- DISTRIBUTEDPLAN
Max Per-Host Resource Reservation: Memory=8.53GB Threads=319
-Per-Host Resource Estimates: Memory=34.47GB
+Per-Host Resource Estimates: Memory=28.74GB
ImpalaSortRel(sort0=[$8], sort1=[$9], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT])
ImpalaProjectRel(PREV_YEAR=[$7], YEAR=[$0], I_BRAND_ID=[$1], I_CLASS_ID=[$2], I_CATEGORY_ID=[$3], I_MANUFACT_ID=[$4], PREV_YR_CNT=[$12], CURR_YR_CNT=[$5], SALES_CNT_DIFF=[-($5, $12)], SALES_AMT_DIFF=[-($6, $13)])
ImpalaJoinRel(condition=[AND(=($1, $8), =($2, $9), =($3, $10), =($4, $11), <(/(EXPLICIT_CAST($5), EXPLICIT_CAST($12)), 0.90000000000000000000))], joinType=[inner])
@@ -864,12 +864,12 @@ PLAN-ROOT SINK
| in pipelines: 53(GETNEXT)
|
F19:PLAN FRAGMENT [HASH(I_BRAND_ID,I_CLASS_ID,I_CATEGORY_ID,I_MANUFACT_ID)] hosts=10 instances=120
-Per-Instance Resources: mem-estimate=143.16MB mem-reservation=34.00MB thread-reservation=1
-max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-result=1440 [max(120 (self) vs 1440 (sum children))]
+Per-Instance Resources: mem-estimate=138.56MB mem-reservation=34.00MB thread-reservation=1
+max-parallelism=120098350 segment-costs=[1871552430, 1200983414847757, 199] cpu-comparison-result=1440 [max(120 (self) vs 1440 (sum children))]
53:TOP-N [LIMIT=100]
| order by: subtract(sum(SALES_CNT), sum(SALES_CNT)) ASC NULLS LAST, subtract(sum(SALES_AMT), sum(SALES_AMT)) ASC NULLS LAST
| mem-estimate=6.25KB mem-reservation=0B thread-reservation=0
-| tuple-ids=58 row-size=64B cardinality=100 cost=4739730078
+| tuple-ids=58 row-size=64B cardinality=100 cost=1192542144784222
| in pipelines: 53(GETNEXT), 71(OPEN)
|
52:HASH JOIN [INNER JOIN, PARTITIONED]
@@ -878,12 +878,12 @@ max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-r
| fk/pk conjuncts: assumed fk/pk
| other join predicates: divide(CAST(sum(SALES_CNT) AS DECIMAL(17,2)), CAST(sum(SALES_CNT) AS DECIMAL(17,2))) < CAST(0.90000000000000000000 AS DECIMAL(37,20))
| mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=28,57 row-size=80B cardinality=298.60M cost=130698421
+| tuple-ids=28,57 row-size=80B cardinality=46.58T cost=8441270063535
| in pipelines: 71(GETNEXT), 89(OPEN)
|
|--F41:PLAN FRAGMENT [HASH(I_BRAND_ID,I_CLASS_ID,I_CATEGORY_ID,I_MANUFACT_ID)] hosts=10 instances=120
-| | Per-Instance Resources: mem-estimate=274.12MB mem-reservation=68.00MB thread-reservation=1
-| | max-parallelism=490 segment-costs=[1871552430, 298602746] cpu-comparison-result=720 [max(120 (self) vs 720 (sum children))]
+| | Per-Instance Resources: mem-estimate=269.52MB mem-reservation=68.00MB thread-reservation=1
+| | max-parallelism=120098350 segment-costs=[1871552430, 298602746] cpu-comparison-result=720 [max(120 (self) vs 720 (sum children))]
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
| | build expressions: I_BRAND_ID, I_CATEGORY_ID, I_CLASS_ID, I_MANUFACT_ID
@@ -893,7 +893,7 @@ max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-r
| 89:AGGREGATE [FINALIZE]
| | output: sum:merge(SALES_CNT), sum:merge(SALES_AMT)
| | group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=123.40MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=57 row-size=40B cardinality=298.60M cost=1783434760
| | in pipelines: 89(GETNEXT), 87(OPEN)
| |
@@ -903,18 +903,18 @@ max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-r
| | in pipelines: 87(GETNEXT)
| |
| F38:PLAN FRAGMENT [HASH(I_BRAND_ID,I_CLASS_ID,I_CATEGORY_ID,I_MANUFACT_ID,SALES_CNT,SALES_AMT)] hosts=10 instances=120
-| Per-Instance Resources: mem-estimate=276.62MB mem-reservation=68.00MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=208.10MB mem-reservation=68.00MB thread-reservation=1
| max-parallelism=190 segment-costs=[1834167366, 1783434760, 923040808] cpu-comparison-result=720 [max(120 (self) vs 720 (sum children))]
| 51:AGGREGATE [STREAMING]
| | output: sum(SALES_CNT), sum(SALES_AMT)
| | group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=92.55MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=57 row-size=40B cardinality=298.60M cost=1783434760
| | in pipelines: 87(GETNEXT)
| |
| 87:AGGREGATE [FINALIZE]
| | group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=94.92MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=56 row-size=28B cardinality=298.60M cost=1762532568
| | in pipelines: 87(GETNEXT), 81(OPEN), 43(OPEN)
| |
@@ -924,11 +924,11 @@ max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-r
| | in pipelines: 81(GETNEXT), 43(GETNEXT)
| |
| F37:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| Per-Instance Resources: mem-estimate=284.75MB mem-reservation=68.00MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=180.91MB mem-reservation=68.00MB thread-reservation=1
| max-parallelism=120 segment-costs=[1564571229, 1874784006, 692280606] cpu-comparison-result=720 [max(170 (self) vs 720 (sum children))]
| 50:AGGREGATE [STREAMING]
| | group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=71.19MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=56 row-size=28B cardinality=298.60M cost=1762532568
| | in pipelines: 81(GETNEXT), 43(GETNEXT)
| |
@@ -1076,7 +1076,7 @@ max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-r
| |
| 81:AGGREGATE [FINALIZE]
| | group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=80.97MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=46 row-size=28B cardinality=254.71M cost=1503465713
| | in pipelines: 81(GETNEXT), 28(OPEN), 35(OPEN)
| |
@@ -1086,11 +1086,11 @@ max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-r
| | in pipelines: 28(GETNEXT), 35(GETNEXT)
| |
| F30:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| Per-Instance Resources: mem-estimate=155.81MB mem-reservation=34.00MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=88.54MB mem-reservation=34.00MB thread-reservation=1
| max-parallelism=120 segment-costs=[2174418178, 590525346] cpu-comparison-result=480 [max(340 (self) vs 480 (sum children))]
| 42:AGGREGATE [STREAMING]
| | group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=60.73MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=46 row-size=28B cardinality=254.71M cost=1503465713
| | in pipelines: 28(GETNEXT), 35(GETNEXT)
| |
@@ -1209,7 +1209,7 @@ max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-r
| | | table: rows=8.64G size=389.90GB
| | | partitions: 1823/1823 rows=8.25G
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk IS NOT NULL
| | | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | | tuple-ids=39 row-size=24B cardinality=819.96M(filtered from 8.25G) cost=3082918054
@@ -1375,7 +1375,7 @@ max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-r
71:AGGREGATE [FINALIZE]
| output: sum:merge(SALES_CNT), sum:merge(SALES_AMT)
| group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=123.40MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=28 row-size=40B cardinality=298.60M cost=1783434760
| in pipelines: 71(GETNEXT), 69(OPEN)
|
@@ -1385,18 +1385,18 @@ max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-r
| in pipelines: 69(GETNEXT)
|
F18:PLAN FRAGMENT [HASH(I_BRAND_ID,I_CLASS_ID,I_CATEGORY_ID,I_MANUFACT_ID,SALES_CNT,SALES_AMT)] hosts=10 instances=120
-Per-Instance Resources: mem-estimate=276.62MB mem-reservation=68.00MB thread-reservation=1
+Per-Instance Resources: mem-estimate=208.10MB mem-reservation=68.00MB thread-reservation=1
max-parallelism=190 segment-costs=[1834167366, 1783434760, 923040808] cpu-comparison-result=720 [max(120 (self) vs 720 (sum children))]
25:AGGREGATE [STREAMING]
| output: sum(SALES_CNT), sum(SALES_AMT)
| group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=92.55MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=28 row-size=40B cardinality=298.60M cost=1783434760
| in pipelines: 69(GETNEXT)
|
69:AGGREGATE [FINALIZE]
| group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=94.92MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=27 row-size=28B cardinality=298.60M cost=1762532568
| in pipelines: 69(GETNEXT), 63(OPEN), 17(OPEN)
|
@@ -1406,11 +1406,11 @@ max-parallelism=190 segment-costs=[1834167366, 1783434760, 923040808] cpu-compar
| in pipelines: 63(GETNEXT), 17(GETNEXT)
|
F17:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-Per-Instance Resources: mem-estimate=284.75MB mem-reservation=68.00MB thread-reservation=1
+Per-Instance Resources: mem-estimate=180.91MB mem-reservation=68.00MB thread-reservation=1
max-parallelism=120 segment-costs=[1564571229, 1874784006, 692280606] cpu-comparison-result=720 [max(170 (self) vs 720 (sum children))]
24:AGGREGATE [STREAMING]
| group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=71.19MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=27 row-size=28B cardinality=298.60M cost=1762532568
| in pipelines: 63(GETNEXT), 17(GETNEXT)
|
@@ -1559,7 +1559,7 @@ max-parallelism=120 segment-costs=[1564571229, 1874784006, 692280606] cpu-compar
|
63:AGGREGATE [FINALIZE]
| group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=80.97MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=17 row-size=28B cardinality=254.71M cost=1503465713
| in pipelines: 63(GETNEXT), 02(OPEN), 09(OPEN)
|
@@ -1569,11 +1569,11 @@ max-parallelism=120 segment-costs=[1564571229, 1874784006, 692280606] cpu-compar
| in pipelines: 02(GETNEXT), 09(GETNEXT)
|
F10:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-Per-Instance Resources: mem-estimate=155.81MB mem-reservation=34.00MB thread-reservation=1
+Per-Instance Resources: mem-estimate=88.54MB mem-reservation=34.00MB thread-reservation=1
max-parallelism=120 segment-costs=[2174418178, 590525346] cpu-comparison-result=480 [max(340 (self) vs 480 (sum children))]
16:AGGREGATE [STREAMING]
| group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=60.73MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=17 row-size=28B cardinality=254.71M cost=1503465713
| in pipelines: 02(GETNEXT), 09(GETNEXT)
|
@@ -1693,7 +1693,7 @@ max-parallelism=120 segment-costs=[2174418178, 590525346] cpu-comparison-result=
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=10 row-size=24B cardinality=819.96M(filtered from 8.25G) cost=3082918054
@@ -1858,7 +1858,7 @@ max-parallelism=100 segment-costs=[903433931]
in pipelines: 02(GETNEXT)
---- PARALLELPLANS
Max Per-Host Resource Reservation: Memory=8.53GB Threads=319
-Per-Host Resource Estimates: Memory=34.47GB
+Per-Host Resource Estimates: Memory=28.74GB
ImpalaSortRel(sort0=[$8], sort1=[$9], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT])
ImpalaProjectRel(PREV_YEAR=[$7], YEAR=[$0], I_BRAND_ID=[$1], I_CLASS_ID=[$2], I_CATEGORY_ID=[$3], I_MANUFACT_ID=[$4], PREV_YR_CNT=[$12], CURR_YR_CNT=[$5], SALES_CNT_DIFF=[-($5, $12)], SALES_AMT_DIFF=[-($6, $13)])
ImpalaJoinRel(condition=[AND(=($1, $8), =($2, $9), =($3, $10), =($4, $11), <(/(EXPLICIT_CAST($5), EXPLICIT_CAST($12)), 0.90000000000000000000))], joinType=[inner])
@@ -1991,12 +1991,12 @@ PLAN-ROOT SINK
| in pipelines: 53(GETNEXT)
|
F19:PLAN FRAGMENT [HASH(I_BRAND_ID,I_CLASS_ID,I_CATEGORY_ID,I_MANUFACT_ID)] hosts=10 instances=120
-Per-Instance Resources: mem-estimate=143.16MB mem-reservation=34.00MB thread-reservation=1
-max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-result=1440 [max(120 (self) vs 1440 (sum children))]
+Per-Instance Resources: mem-estimate=138.56MB mem-reservation=34.00MB thread-reservation=1
+max-parallelism=120098350 segment-costs=[1871552430, 1200983414847757, 199] cpu-comparison-result=1440 [max(120 (self) vs 1440 (sum children))]
53:TOP-N [LIMIT=100]
| order by: subtract(sum(SALES_CNT), sum(SALES_CNT)) ASC NULLS LAST, subtract(sum(SALES_AMT), sum(SALES_AMT)) ASC NULLS LAST
| mem-estimate=6.25KB mem-reservation=0B thread-reservation=0
-| tuple-ids=58 row-size=64B cardinality=100 cost=4739730078
+| tuple-ids=58 row-size=64B cardinality=100 cost=1192542144784222
| in pipelines: 53(GETNEXT), 71(OPEN)
|
52:HASH JOIN [INNER JOIN, PARTITIONED]
@@ -2005,12 +2005,12 @@ max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-r
| fk/pk conjuncts: assumed fk/pk
| other join predicates: divide(CAST(sum(SALES_CNT) AS DECIMAL(17,2)), CAST(sum(SALES_CNT) AS DECIMAL(17,2))) < CAST(0.90000000000000000000 AS DECIMAL(37,20))
| mem-estimate=0B mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=28,57 row-size=80B cardinality=298.60M cost=130698421
+| tuple-ids=28,57 row-size=80B cardinality=46.58T cost=8441270063535
| in pipelines: 71(GETNEXT), 89(OPEN)
|
|--F41:PLAN FRAGMENT [HASH(I_BRAND_ID,I_CLASS_ID,I_CATEGORY_ID,I_MANUFACT_ID)] hosts=10 instances=120
-| | Per-Instance Resources: mem-estimate=274.12MB mem-reservation=68.00MB thread-reservation=1
-| | max-parallelism=490 segment-costs=[1871552430, 298602746] cpu-comparison-result=720 [max(120 (self) vs 720 (sum children))]
+| | Per-Instance Resources: mem-estimate=269.52MB mem-reservation=68.00MB thread-reservation=1
+| | max-parallelism=120098350 segment-costs=[1871552430, 298602746] cpu-comparison-result=720 [max(120 (self) vs 720 (sum children))]
| JOIN BUILD
| | join-table-id=00 plan-id=01 cohort-id=01
| | build expressions: I_BRAND_ID, I_CATEGORY_ID, I_CLASS_ID, I_MANUFACT_ID
@@ -2020,7 +2020,7 @@ max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-r
| 89:AGGREGATE [FINALIZE]
| | output: sum:merge(SALES_CNT), sum:merge(SALES_AMT)
| | group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=123.40MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=57 row-size=40B cardinality=298.60M cost=1783434760
| | in pipelines: 89(GETNEXT), 87(OPEN)
| |
@@ -2030,18 +2030,18 @@ max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-r
| | in pipelines: 87(GETNEXT)
| |
| F38:PLAN FRAGMENT [HASH(I_BRAND_ID,I_CLASS_ID,I_CATEGORY_ID,I_MANUFACT_ID,SALES_CNT,SALES_AMT)] hosts=10 instances=120
-| Per-Instance Resources: mem-estimate=276.62MB mem-reservation=68.00MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=208.10MB mem-reservation=68.00MB thread-reservation=1
| max-parallelism=190 segment-costs=[1834167366, 1783434760, 923040808] cpu-comparison-result=720 [max(120 (self) vs 720 (sum children))]
| 51:AGGREGATE [STREAMING]
| | output: sum(SALES_CNT), sum(SALES_AMT)
| | group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=92.55MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=57 row-size=40B cardinality=298.60M cost=1783434760
| | in pipelines: 87(GETNEXT)
| |
| 87:AGGREGATE [FINALIZE]
| | group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=94.92MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=56 row-size=28B cardinality=298.60M cost=1762532568
| | in pipelines: 87(GETNEXT), 81(OPEN), 43(OPEN)
| |
@@ -2051,11 +2051,11 @@ max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-r
| | in pipelines: 81(GETNEXT), 43(GETNEXT)
| |
| F37:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| Per-Instance Resources: mem-estimate=284.75MB mem-reservation=68.00MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=180.91MB mem-reservation=68.00MB thread-reservation=1
| max-parallelism=120 segment-costs=[1564571229, 1874784006, 692280606] cpu-comparison-result=720 [max(170 (self) vs 720 (sum children))]
| 50:AGGREGATE [STREAMING]
| | group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=71.19MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=56 row-size=28B cardinality=298.60M cost=1762532568
| | in pipelines: 81(GETNEXT), 43(GETNEXT)
| |
@@ -2203,7 +2203,7 @@ max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-r
| |
| 81:AGGREGATE [FINALIZE]
| | group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=80.97MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=46 row-size=28B cardinality=254.71M cost=1503465713
| | in pipelines: 81(GETNEXT), 28(OPEN), 35(OPEN)
| |
@@ -2213,11 +2213,11 @@ max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-r
| | in pipelines: 28(GETNEXT), 35(GETNEXT)
| |
| F30:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-| Per-Instance Resources: mem-estimate=155.81MB mem-reservation=34.00MB thread-reservation=1
+| Per-Instance Resources: mem-estimate=88.54MB mem-reservation=34.00MB thread-reservation=1
| max-parallelism=120 segment-costs=[2174418178, 590525346] cpu-comparison-result=480 [max(340 (self) vs 480 (sum children))]
| 42:AGGREGATE [STREAMING]
| | group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| | mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| | mem-estimate=60.73MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| | tuple-ids=46 row-size=28B cardinality=254.71M cost=1503465713
| | in pipelines: 28(GETNEXT), 35(GETNEXT)
| |
@@ -2336,7 +2336,7 @@ max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-r
| | | table: rows=8.64G size=389.90GB
| | | partitions: 1823/1823 rows=8.25G
| | | columns: all
-| | | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales_0.ss_item_sk IS NOT NULL
| | | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | | tuple-ids=39 row-size=24B cardinality=819.96M(filtered from 8.25G) cost=3082918054
@@ -2502,7 +2502,7 @@ max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-r
71:AGGREGATE [FINALIZE]
| output: sum:merge(SALES_CNT), sum:merge(SALES_AMT)
| group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=123.40MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=28 row-size=40B cardinality=298.60M cost=1783434760
| in pipelines: 71(GETNEXT), 69(OPEN)
|
@@ -2512,18 +2512,18 @@ max-parallelism=490 segment-costs=[1871552430, 4870428499, 199] cpu-comparison-r
| in pipelines: 69(GETNEXT)
|
F18:PLAN FRAGMENT [HASH(I_BRAND_ID,I_CLASS_ID,I_CATEGORY_ID,I_MANUFACT_ID,SALES_CNT,SALES_AMT)] hosts=10 instances=120
-Per-Instance Resources: mem-estimate=276.62MB mem-reservation=68.00MB thread-reservation=1
+Per-Instance Resources: mem-estimate=208.10MB mem-reservation=68.00MB thread-reservation=1
max-parallelism=190 segment-costs=[1834167366, 1783434760, 923040808] cpu-comparison-result=720 [max(120 (self) vs 720 (sum children))]
25:AGGREGATE [STREAMING]
| output: sum(SALES_CNT), sum(SALES_AMT)
| group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=92.55MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=28 row-size=40B cardinality=298.60M cost=1783434760
| in pipelines: 69(GETNEXT)
|
69:AGGREGATE [FINALIZE]
| group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=94.92MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=27 row-size=28B cardinality=298.60M cost=1762532568
| in pipelines: 69(GETNEXT), 63(OPEN), 17(OPEN)
|
@@ -2533,11 +2533,11 @@ max-parallelism=190 segment-costs=[1834167366, 1783434760, 923040808] cpu-compar
| in pipelines: 63(GETNEXT), 17(GETNEXT)
|
F17:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-Per-Instance Resources: mem-estimate=284.75MB mem-reservation=68.00MB thread-reservation=1
+Per-Instance Resources: mem-estimate=180.91MB mem-reservation=68.00MB thread-reservation=1
max-parallelism=120 segment-costs=[1564571229, 1874784006, 692280606] cpu-comparison-result=720 [max(170 (self) vs 720 (sum children))]
24:AGGREGATE [STREAMING]
| group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=71.19MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=27 row-size=28B cardinality=298.60M cost=1762532568
| in pipelines: 63(GETNEXT), 17(GETNEXT)
|
@@ -2686,7 +2686,7 @@ max-parallelism=120 segment-costs=[1564571229, 1874784006, 692280606] cpu-compar
|
63:AGGREGATE [FINALIZE]
| group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=80.97MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=17 row-size=28B cardinality=254.71M cost=1503465713
| in pipelines: 63(GETNEXT), 02(OPEN), 09(OPEN)
|
@@ -2696,11 +2696,11 @@ max-parallelism=120 segment-costs=[1564571229, 1874784006, 692280606] cpu-compar
| in pipelines: 02(GETNEXT), 09(GETNEXT)
|
F10:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-Per-Instance Resources: mem-estimate=155.81MB mem-reservation=34.00MB thread-reservation=1
+Per-Instance Resources: mem-estimate=88.54MB mem-reservation=34.00MB thread-reservation=1
max-parallelism=120 segment-costs=[2174418178, 590525346] cpu-comparison-result=480 [max(340 (self) vs 480 (sum children))]
16:AGGREGATE [STREAMING]
| group by: I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID, I_MANUFACT_ID, SALES_CNT, SALES_AMT
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| mem-estimate=60.73MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
| tuple-ids=17 row-size=28B cardinality=254.71M cost=1503465713
| in pipelines: 02(GETNEXT), 09(GETNEXT)
|
@@ -2820,7 +2820,7 @@ max-parallelism=120 segment-costs=[2174418178, 590525346] cpu-comparison-result=
| | table: rows=8.64G size=389.90GB
| | partitions: 1823/1823 rows=8.25G
| | columns: all
-| | extrapolated-rows=disabled max-scan-range-rows=12.22M
+| | extrapolated-rows=disabled max-scan-range-rows=12.31M
| | parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
| | mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
| | tuple-ids=10 row-size=24B cardinality=819.96M(filtered from 8.25G) cost=3082918054
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q76.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q76.test
index bd2097dff..7b00d6a6c 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q76.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q76.test
@@ -25,7 +25,7 @@ limit 100
# end query 76 in stream 0 using template query76.tpl
---- PLAN
Max Per-Host Resource Reservation: Memory=80.25MB Threads=1
-Per-Host Resource Estimates: Memory=221MB
+Per-Host Resource Estimates: Memory=139MB
ImpalaSortRel(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0, 1, 2, 3, 4}], SALES_CNT=[COUNT()], SALES_AMT=[SUM($5)])
ImpalaUnionRel(all=[true])
@@ -70,29 +70,29 @@ ImpalaSortRel(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], dir0=[
ImpalaFilterRel(condition=[IS NOT NULL($0)])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, date_dim]])
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=220.75MB mem-reservation=80.25MB thread-reservation=1 runtime-filters-memory=6.00MB
-| max-parallelism=1 segment-costs=[6978652546, 6327582551, 700]
+| Per-Instance Resources: mem-estimate=139.00MB mem-reservation=80.25MB thread-reservation=1 runtime-filters-memory=6.00MB
+| max-parallelism=1 segment-costs=[5208418960, 6080736, 700]
PLAN-ROOT SINK
| output exprs: CHANNEL, COL_NAME, D_YEAR, D_QOY, I_CATEGORY, count(), sum(EXT_SALES_PRICE)
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=700
|
18:TOP-N [LIMIT=100]
| order by: CHANNEL ASC NULLS LAST, COL_NAME ASC NULLS LAST, D_YEAR ASC NULLS LAST, D_QOY ASC NULLS LAST, I_CATEGORY ASC NULLS LAST
-| mem-estimate=6.64KB mem-reservation=0B thread-reservation=0
-| tuple-ids=21 row-size=68B cardinality=100 cost=6327582551
+| mem-estimate=7.22KB mem-reservation=0B thread-reservation=0
+| tuple-ids=21 row-size=74B cardinality=100 cost=6080736
| in pipelines: 18(GETNEXT), 17(OPEN)
|
17:AGGREGATE [FINALIZE]
| output: count(), sum(EXT_SALES_PRICE)
| group by: CHANNEL, COL_NAME, D_YEAR, D_QOY, I_CATEGORY
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=20 row-size=68B cardinality=393.10M cost=2347822406
+| mem-estimate=46.25MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=20 row-size=74B cardinality=564.48K cost=570230348
| in pipelines: 17(GETNEXT), 02(OPEN), 09(OPEN), 13(OPEN)
|
00:UNION
| pass-through-operands: 01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=19 row-size=48B cardinality=393.10M cost=3822209
+| tuple-ids=19 row-size=54B cardinality=393.10M cost=4224483
| in pipelines: 02(GETNEXT), 09(GETNEXT), 13(GETNEXT)
|
|--16:HASH JOIN [INNER JOIN]
@@ -152,7 +152,7 @@ PLAN-ROOT SINK
|
01:UNION
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=12 row-size=48B cardinality=371.61M cost=66094358
+| tuple-ids=12 row-size=54B cardinality=371.61M cost=73050556
| in pipelines: 02(GETNEXT), 09(GETNEXT)
|
|--11:HASH JOIN [INNER JOIN]
@@ -259,14 +259,14 @@ PLAN-ROOT SINK
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M
+ extrapolated-rows=disabled max-scan-range-rows=12.31M
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=0 row-size=16B cardinality=371.26M cost=2364367980
in pipelines: 02(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=1.82GB Threads=55
-Per-Host Resource Estimates: Memory=5.13GB
+Max Per-Host Resource Reservation: Memory=1.43GB Threads=45
+Per-Host Resource Estimates: Memory=2.19GB
ImpalaSortRel(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0, 1, 2, 3, 4}], SALES_CNT=[COUNT()], SALES_AMT=[SUM($5)])
ImpalaUnionRel(all=[true])
@@ -311,8 +311,8 @@ ImpalaSortRel(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], dir0=[
ImpalaFilterRel(condition=[IS NOT NULL($0)])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, date_dim]])
F13:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=4.82MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[738] cpu-comparison-result=190 [max(1 (self) vs 190 (sum children))]
+| Per-Instance Resources: mem-estimate=4.15MB mem-reservation=4.00MB thread-reservation=1
+| max-parallelism=1 segment-costs=[740] cpu-comparison-result=190 [max(1 (self) vs 190 (sum children))]
PLAN-ROOT SINK
| output exprs: CHANNEL, COL_NAME, D_YEAR, D_QOY, I_CATEGORY, count(), sum(EXT_SALES_PRICE)
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=700
@@ -320,46 +320,46 @@ PLAN-ROOT SINK
28:MERGING-EXCHANGE [UNPARTITIONED]
| order by: CHANNEL ASC NULLS LAST, COL_NAME ASC NULLS LAST, D_YEAR ASC NULLS LAST, D_QOY ASC NULLS LAST, I_CATEGORY ASC NULLS LAST
| limit: 100
-| mem-estimate=844.41KB mem-reservation=0B thread-reservation=0
-| tuple-ids=21 row-size=68B cardinality=100 cost=38
+| mem-estimate=152.89KB mem-reservation=0B thread-reservation=0
+| tuple-ids=21 row-size=74B cardinality=100 cost=40
| in pipelines: 18(GETNEXT)
|
-F12:PLAN FRAGMENT [HASH(CHANNEL,COL_NAME,D_YEAR,D_QOY,I_CATEGORY)] hosts=10 instances=120
-Per-Instance Resources: mem-estimate=146.44MB mem-reservation=34.00MB thread-reservation=1
-max-parallelism=640 segment-costs=[2514457023, 6327582551, 209] cpu-comparison-result=190 [max(120 (self) vs 190 (sum children))]
+F12:PLAN FRAGMENT [HASH(CHANNEL,COL_NAME,D_YEAR,D_QOY,I_CATEGORY)] hosts=10 instances=20 (adjusted from 120)
+Per-Instance Resources: mem-estimate=29.13MB mem-reservation=4.75MB thread-reservation=1
+max-parallelism=20 segment-costs=[130542772, 6080736, 225] cpu-comparison-result=190 [max(20 (self) vs 190 (sum children))]
18:TOP-N [LIMIT=100]
| order by: CHANNEL ASC NULLS LAST, COL_NAME ASC NULLS LAST, D_YEAR ASC NULLS LAST, D_QOY ASC NULLS LAST, I_CATEGORY ASC NULLS LAST
-| mem-estimate=6.64KB mem-reservation=0B thread-reservation=0
-| tuple-ids=21 row-size=68B cardinality=100 cost=6327582551
+| mem-estimate=7.22KB mem-reservation=0B thread-reservation=0
+| tuple-ids=21 row-size=74B cardinality=100 cost=6080736
| in pipelines: 18(GETNEXT), 27(OPEN)
|
27:AGGREGATE [FINALIZE]
| output: count:merge(), sum:merge(EXT_SALES_PRICE)
| group by: CHANNEL, COL_NAME, D_YEAR, D_QOY, I_CATEGORY
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=20 row-size=68B cardinality=393.10M cost=2347822406
+| mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
+| tuple-ids=20 row-size=74B cardinality=564.48K cost=100080999
| in pipelines: 27(GETNEXT), 02(OPEN), 09(OPEN), 13(OPEN)
|
26:EXCHANGE [HASH(CHANNEL,COL_NAME,D_YEAR,D_QOY,I_CATEGORY)]
-| mem-estimate=18.44MB mem-reservation=0B thread-reservation=0
-| tuple-ids=20 row-size=68B cardinality=393.10M cost=166634617
+| mem-estimate=19.13MB mem-reservation=0B thread-reservation=0
+| tuple-ids=20 row-size=74B cardinality=67.53M cost=30461773
| in pipelines: 02(GETNEXT), 09(GETNEXT), 13(GETNEXT)
|
F11:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
Per-Host Shared Resources: mem-estimate=4.00MB mem-reservation=4.00MB thread-reservation=0 runtime-filters-memory=4.00MB
-Per-Instance Resources: mem-estimate=177.75MB mem-reservation=34.50MB thread-reservation=1
-max-parallelism=120 segment-costs=[6358340415, 1923983187] cpu-comparison-result=190 [max(190 (self) vs 185 (sum children))]
+Per-Instance Resources: mem-estimate=68.33MB mem-reservation=34.50MB thread-reservation=1
+max-parallelism=120 segment-costs=[4891374859, 356216758] cpu-comparison-result=190 [max(190 (self) vs 185 (sum children))]
17:AGGREGATE [STREAMING]
| output: count(), sum(EXT_SALES_PRICE)
| group by: CHANNEL, COL_NAME, D_YEAR, D_QOY, I_CATEGORY
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=20 row-size=68B cardinality=393.10M cost=2347822406
+| mem-estimate=46.25MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=20 row-size=74B cardinality=67.53M cost=873498378
| in pipelines: 02(GETNEXT), 09(GETNEXT), 13(GETNEXT)
|
00:UNION
| pass-through-operands: 01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=19 row-size=48B cardinality=393.10M cost=3822209
+| tuple-ids=19 row-size=54B cardinality=393.10M cost=4224483
| in pipelines: 02(GETNEXT), 09(GETNEXT), 13(GETNEXT)
|
|--16:HASH JOIN [INNER JOIN, BROADCAST]
@@ -453,7 +453,7 @@ max-parallelism=120 segment-costs=[6358340415, 1923983187] cpu-comparison-result
|
01:UNION
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=12 row-size=48B cardinality=371.61M cost=66094358
+| tuple-ids=12 row-size=54B cardinality=371.61M cost=73050556
| in pipelines: 02(GETNEXT), 09(GETNEXT)
|
|--11:HASH JOIN [INNER JOIN, BROADCAST]
@@ -637,14 +637,14 @@ max-parallelism=120 segment-costs=[6358340415, 1923983187] cpu-comparison-result
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M
+ extrapolated-rows=disabled max-scan-range-rows=12.31M
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=0 row-size=16B cardinality=371.26M cost=2364367980
in pipelines: 02(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=1.77GB Threads=56
-Per-Host Resource Estimates: Memory=5.03GB
+Max Per-Host Resource Reservation: Memory=1.38GB Threads=46
+Per-Host Resource Estimates: Memory=2.09GB
ImpalaSortRel(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0, 1, 2, 3, 4}], SALES_CNT=[COUNT()], SALES_AMT=[SUM($5)])
ImpalaUnionRel(all=[true])
@@ -689,8 +689,8 @@ ImpalaSortRel(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], dir0=[
ImpalaFilterRel(condition=[IS NOT NULL($0)])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, date_dim]])
F14:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=4.82MB mem-reservation=4.00MB thread-reservation=1
-| max-parallelism=1 segment-costs=[738] cpu-comparison-result=200 [max(1 (self) vs 200 (sum children))]
+| Per-Instance Resources: mem-estimate=4.15MB mem-reservation=4.00MB thread-reservation=1
+| max-parallelism=1 segment-costs=[740] cpu-comparison-result=200 [max(1 (self) vs 200 (sum children))]
PLAN-ROOT SINK
| output exprs: CHANNEL, COL_NAME, D_YEAR, D_QOY, I_CATEGORY, count(), sum(EXT_SALES_PRICE)
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=700
@@ -698,46 +698,46 @@ PLAN-ROOT SINK
29:MERGING-EXCHANGE [UNPARTITIONED]
| order by: CHANNEL ASC NULLS LAST, COL_NAME ASC NULLS LAST, D_YEAR ASC NULLS LAST, D_QOY ASC NULLS LAST, I_CATEGORY ASC NULLS LAST
| limit: 100
-| mem-estimate=844.41KB mem-reservation=0B thread-reservation=0
-| tuple-ids=21 row-size=68B cardinality=100 cost=38
+| mem-estimate=152.89KB mem-reservation=0B thread-reservation=0
+| tuple-ids=21 row-size=74B cardinality=100 cost=40
| in pipelines: 18(GETNEXT)
|
-F13:PLAN FRAGMENT [HASH(CHANNEL,COL_NAME,D_YEAR,D_QOY,I_CATEGORY)] hosts=10 instances=120
-Per-Instance Resources: mem-estimate=146.44MB mem-reservation=34.00MB thread-reservation=1
-max-parallelism=640 segment-costs=[2514457023, 6327582551, 209] cpu-comparison-result=200 [max(120 (self) vs 200 (sum children))]
+F13:PLAN FRAGMENT [HASH(CHANNEL,COL_NAME,D_YEAR,D_QOY,I_CATEGORY)] hosts=10 instances=20 (adjusted from 120)
+Per-Instance Resources: mem-estimate=29.13MB mem-reservation=4.75MB thread-reservation=1
+max-parallelism=20 segment-costs=[130542772, 6080736, 225] cpu-comparison-result=200 [max(20 (self) vs 200 (sum children))]
18:TOP-N [LIMIT=100]
| order by: CHANNEL ASC NULLS LAST, COL_NAME ASC NULLS LAST, D_YEAR ASC NULLS LAST, D_QOY ASC NULLS LAST, I_CATEGORY ASC NULLS LAST
-| mem-estimate=6.64KB mem-reservation=0B thread-reservation=0
-| tuple-ids=21 row-size=68B cardinality=100 cost=6327582551
+| mem-estimate=7.22KB mem-reservation=0B thread-reservation=0
+| tuple-ids=21 row-size=74B cardinality=100 cost=6080736
| in pipelines: 18(GETNEXT), 28(OPEN)
|
28:AGGREGATE [FINALIZE]
| output: count:merge(), sum:merge(EXT_SALES_PRICE)
| group by: CHANNEL, COL_NAME, D_YEAR, D_QOY, I_CATEGORY
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=20 row-size=68B cardinality=393.10M cost=2347822406
+| mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
+| tuple-ids=20 row-size=74B cardinality=564.48K cost=100080999
| in pipelines: 28(GETNEXT), 02(OPEN), 09(OPEN), 13(OPEN)
|
27:EXCHANGE [HASH(CHANNEL,COL_NAME,D_YEAR,D_QOY,I_CATEGORY)]
-| mem-estimate=18.44MB mem-reservation=0B thread-reservation=0
-| tuple-ids=20 row-size=68B cardinality=393.10M cost=166634617
+| mem-estimate=19.13MB mem-reservation=0B thread-reservation=0
+| tuple-ids=20 row-size=74B cardinality=67.53M cost=30461773
| in pipelines: 02(GETNEXT), 09(GETNEXT), 13(GETNEXT)
|
F12:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
Per-Host Shared Resources: mem-estimate=4.00MB mem-reservation=4.00MB thread-reservation=0 runtime-filters-memory=4.00MB
-Per-Instance Resources: mem-estimate=177.75MB mem-reservation=34.50MB thread-reservation=1
-max-parallelism=120 segment-costs=[6358178549, 1923983187] cpu-comparison-result=200 [max(200 (self) vs 185 (sum children))]
+Per-Instance Resources: mem-estimate=68.33MB mem-reservation=34.50MB thread-reservation=1
+max-parallelism=120 segment-costs=[4891212993, 356216758] cpu-comparison-result=200 [max(200 (self) vs 185 (sum children))]
17:AGGREGATE [STREAMING]
| output: count(), sum(EXT_SALES_PRICE)
| group by: CHANNEL, COL_NAME, D_YEAR, D_QOY, I_CATEGORY
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=20 row-size=68B cardinality=393.10M cost=2347822406
+| mem-estimate=46.25MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
+| tuple-ids=20 row-size=74B cardinality=67.53M cost=873498378
| in pipelines: 02(GETNEXT), 09(GETNEXT), 13(GETNEXT)
|
00:UNION
| pass-through-operands: 01
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=19 row-size=48B cardinality=393.10M cost=3822209
+| tuple-ids=19 row-size=54B cardinality=393.10M cost=4224483
| in pipelines: 02(GETNEXT), 09(GETNEXT), 13(GETNEXT)
|
|--16:HASH JOIN [INNER JOIN, BROADCAST]
@@ -831,7 +831,7 @@ max-parallelism=120 segment-costs=[6358178549, 1923983187] cpu-comparison-result
|
01:UNION
| mem-estimate=0B mem-reservation=0B thread-reservation=0
-| tuple-ids=12 row-size=48B cardinality=371.61M cost=66094358
+| tuple-ids=12 row-size=54B cardinality=371.61M cost=73050556
| in pipelines: 02(GETNEXT), 09(GETNEXT)
|
|--11:HASH JOIN [INNER JOIN, PARTITIONED]
@@ -1023,7 +1023,7 @@ max-parallelism=120 segment-costs=[6358178549, 1923983187] cpu-comparison-result
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M
+ extrapolated-rows=disabled max-scan-range-rows=12.31M
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=0 row-size=16B cardinality=371.26M cost=2364367980
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q77.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q77.test
index 9cee8b0fd..687e9b62a 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q77.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q77.test
@@ -108,8 +108,8 @@ with ss as
# end query 77 in stream 0 using template query77.tpl
---- PLAN
-Max Per-Host Resource Reservation: Memory=113.94MB Threads=1
-Per-Host Resource Estimates: Memory=404MB
+Max Per-Host Resource Reservation: Memory=28.91MB Threads=1
+Per-Host Resource Estimates: Memory=144MB
ImpalaSortRel(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], SALES=[SUM($2)], returns=[SUM($3)], PROFIT=[SUM($4)])
ImpalaUnionRel(all=[true])
@@ -197,8 +197,8 @@ ImpalaSortRel(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT
ImpalaFilterRel(condition=[IS NOT NULL($0)])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, web_page]])
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=404.00MB mem-reservation=113.94MB thread-reservation=1 runtime-filters-memory=10.00MB
-| max-parallelism=1 segment-costs=[11885403654, 1211750192, 445258712, 4430118677, 3192342915, 295850126, 107310, 87297, 112554, 500]
+| Per-Instance Resources: mem-estimate=143.75MB mem-reservation=28.91MB thread-reservation=1 runtime-filters-memory=10.00MB
+| max-parallelism=1 segment-costs=[11885403654, 1211750192, 445258712, 4430118677, 3192342915, 295850126, 74614, 43669, 52232, 500]
PLAN-ROOT SINK
| output exprs: CASE valid_tid(40,41,42) WHEN 40 THEN CHANNEL WHEN 41 THEN CHANNEL WHEN 42 THEN NULL END, CASE valid_tid(40,41,42) WHEN 40 THEN ID WHEN 41 THEN NULL WHEN 42 THEN NULL END, aggif(valid_tid(40,41,42) IN (40, 41, 42), CASE valid_tid(40,41,42) WHEN 40 THEN sum(SALES) WHEN 41 THEN sum(SALES) WHEN 42 THEN sum(SALES) END), aggif(valid_tid(40,41,42) IN (40, 41, 42), CASE valid_tid(40,41,42) WHEN 40 THEN sum(returns) WHEN 41 THEN sum(returns) WHEN 42 THEN sum(returns) END), aggif [...]
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=500
@@ -206,14 +206,14 @@ PLAN-ROOT SINK
39:TOP-N [LIMIT=100]
| order by: CASE valid_tid(40,41,42) WHEN 40 THEN CHANNEL WHEN 41 THEN CHANNEL WHEN 42 THEN NULL END ASC NULLS LAST, CASE valid_tid(40,41,42) WHEN 40 THEN ID WHEN 41 THEN NULL WHEN 42 THEN NULL END ASC NULLS LAST
| mem-estimate=6.25KB mem-reservation=0B thread-reservation=0
-| tuple-ids=44 row-size=64B cardinality=100 cost=112554
+| tuple-ids=44 row-size=64B cardinality=100 cost=52232
| in pipelines: 39(GETNEXT), 38(OPEN)
|
38:AGGREGATE [FINALIZE]
| output: aggif(valid_tid(40,41,42) IN (CAST(40 AS INT), CAST(41 AS INT), CAST(42 AS INT)), CASE valid_tid(40,41,42) WHEN CAST(40 AS INT) THEN sum(SALES) WHEN CAST(41 AS INT) THEN sum(SALES) WHEN CAST(42 AS INT) THEN sum(SALES) END), aggif(valid_tid(40,41,42) IN (CAST(40 AS INT), CAST(41 AS INT), CAST(42 AS INT)), CASE valid_tid(40,41,42) WHEN CAST(40 AS INT) THEN sum(returns) WHEN CAST(41 AS INT) THEN sum(returns) WHEN CAST(42 AS INT) THEN sum(returns) END), aggif(valid_tid(40,41,42) I [...]
| group by: CASE valid_tid(40,41,42) WHEN CAST(40 AS INT) THEN CHANNEL WHEN CAST(41 AS INT) THEN CHANNEL WHEN CAST(42 AS INT) THEN NULL END, CASE valid_tid(40,41,42) WHEN CAST(40 AS INT) THEN ID WHEN CAST(41 AS INT) THEN NULL WHEN CAST(42 AS INT) THEN NULL END, CASE valid_tid(40,41,42) WHEN CAST(40 AS INT) THEN CAST(40 AS INT) WHEN CAST(41 AS INT) THEN CAST(41 AS INT) WHEN CAST(42 AS INT) THEN CAST(42 AS INT) END
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=43 row-size=68B cardinality=14.45K cost=87297
+| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=43 row-size=68B cardinality=7.23K cost=43669
| in pipelines: 38(GETNEXT), 37(OPEN)
|
37:AGGREGATE [FINALIZE]
@@ -226,8 +226,8 @@ PLAN-ROOT SINK
| Class 2
| output: sum(SALES), sum(returns), sum(PROFIT)
| group by: NULL, NULL
-| mem-estimate=266.00MB mem-reservation=69.94MB thread-reservation=0
-| tuple-ids=40N,41N,42N row-size=192B cardinality=14.45K cost=98230
+| mem-estimate=30.00MB mem-reservation=6.75MB thread-reservation=0
+| tuple-ids=40N,41N,42N row-size=192B cardinality=7.23K cost=65534
| in pipelines: 37(GETNEXT), 07(OPEN), 18(OPEN), 29(OPEN)
|
00:UNION
@@ -588,14 +588,14 @@ PLAN-ROOT SINK
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M
+ extrapolated-rows=disabled max-scan-range-rows=12.31M
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_store_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=0 row-size=16B cardinality=7.88G cost=2132551022
in pipelines: 02(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=1.37GB Threads=116
-Per-Host Resource Estimates: Memory=6.73GB
+Max Per-Host Resource Reservation: Memory=535.15MB Threads=116
+Per-Host Resource Estimates: Memory=3.63GB
ImpalaSortRel(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], SALES=[SUM($2)], returns=[SUM($3)], PROFIT=[SUM($4)])
ImpalaUnionRel(all=[true])
@@ -697,19 +697,19 @@ PLAN-ROOT SINK
| in pipelines: 39(GETNEXT)
|
F24:PLAN FRAGMENT [HASH(CASE valid_tid(40,41,42) WHEN 40 THEN murmur_hash(CHANNEL) WHEN 41 THEN murmur_hash(CHANNEL) WHEN 42 THEN murmur_hash(NULL) END,CASE valid_tid(40,41,42) WHEN 40 THEN murmur_hash(ID) WHEN 41 THEN murmur_hash(NULL) WHEN 42 THEN murmur_hash(NULL) END)] hosts=10 instances=10 (adjusted from 120)
-Per-Instance Resources: mem-estimate=394.00MB mem-reservation=103.94MB thread-reservation=1
-max-parallelism=10 segment-costs=[103031, 87297, 112554, 199] cpu-comparison-result=650 [max(10 (self) vs 650 (sum children))]
+Per-Instance Resources: mem-estimate=54.05MB mem-reservation=7.75MB thread-reservation=1
+max-parallelism=10 segment-costs=[52615, 43669, 52232, 199] cpu-comparison-result=650 [max(10 (self) vs 650 (sum children))]
39:TOP-N [LIMIT=100]
| order by: CASE valid_tid(40,41,42) WHEN 40 THEN CHANNEL WHEN 41 THEN CHANNEL WHEN 42 THEN NULL END ASC NULLS LAST, CASE valid_tid(40,41,42) WHEN 40 THEN ID WHEN 41 THEN NULL WHEN 42 THEN NULL END ASC NULLS LAST
| mem-estimate=6.25KB mem-reservation=0B thread-reservation=0
-| tuple-ids=44 row-size=64B cardinality=100 cost=112554
+| tuple-ids=44 row-size=64B cardinality=100 cost=52232
| in pipelines: 39(GETNEXT), 38(OPEN)
|
38:AGGREGATE [FINALIZE]
| output: aggif(valid_tid(40,41,42) IN (CAST(40 AS INT), CAST(41 AS INT), CAST(42 AS INT)), CASE valid_tid(40,41,42) WHEN CAST(40 AS INT) THEN sum(SALES) WHEN CAST(41 AS INT) THEN sum(SALES) WHEN CAST(42 AS INT) THEN sum(SALES) END), aggif(valid_tid(40,41,42) IN (CAST(40 AS INT), CAST(41 AS INT), CAST(42 AS INT)), CASE valid_tid(40,41,42) WHEN CAST(40 AS INT) THEN sum(returns) WHEN CAST(41 AS INT) THEN sum(returns) WHEN CAST(42 AS INT) THEN sum(returns) END), aggif(valid_tid(40,41,42) I [...]
| group by: CASE valid_tid(40,41,42) WHEN CAST(40 AS INT) THEN CHANNEL WHEN CAST(41 AS INT) THEN CHANNEL WHEN CAST(42 AS INT) THEN NULL END, CASE valid_tid(40,41,42) WHEN CAST(40 AS INT) THEN ID WHEN CAST(41 AS INT) THEN NULL WHEN CAST(42 AS INT) THEN NULL END, CASE valid_tid(40,41,42) WHEN CAST(40 AS INT) THEN CAST(40 AS INT) WHEN CAST(41 AS INT) THEN CAST(41 AS INT) WHEN CAST(42 AS INT) THEN CAST(42 AS INT) END
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=43 row-size=68B cardinality=14.45K cost=87297
+| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=43 row-size=68B cardinality=7.23K cost=43669
| in pipelines: 38(GETNEXT), 64(OPEN)
|
64:AGGREGATE [FINALIZE]
@@ -722,18 +722,18 @@ max-parallelism=10 segment-costs=[103031, 87297, 112554, 199] cpu-comparison-res
| Class 2
| output: sum:merge(SALES), sum:merge(returns), sum:merge(PROFIT)
| group by: NULL, NULL
-| mem-estimate=266.00MB mem-reservation=69.94MB thread-reservation=0
-| tuple-ids=40N,41N,42N row-size=192B cardinality=14.45K cost=87476
+| mem-estimate=30.00MB mem-reservation=5.81MB thread-reservation=0
+| tuple-ids=40N,41N,42N row-size=192B cardinality=7.23K cost=44389
| in pipelines: 64(GETNEXT), 43(OPEN), 50(OPEN), 58(OPEN)
|
63:EXCHANGE [HASH(CASE valid_tid(40,41,42) WHEN 40 THEN murmur_hash(CHANNEL) WHEN 41 THEN murmur_hash(CHANNEL) WHEN 42 THEN murmur_hash(NULL) END,CASE valid_tid(40,41,42) WHEN 40 THEN murmur_hash(ID) WHEN 41 THEN murmur_hash(NULL) WHEN 42 THEN murmur_hash(NULL) END)]
-| mem-estimate=24.17MB mem-reservation=0B thread-reservation=0
-| tuple-ids=40N,41N,42N row-size=192B cardinality=14.57K cost=15555
+| mem-estimate=24.05MB mem-reservation=0B thread-reservation=0
+| tuple-ids=40N,41N,42N row-size=192B cardinality=7.70K cost=8226
| in pipelines: 43(GETNEXT), 50(GETNEXT), 58(GETNEXT)
|
F23:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-Per-Instance Resources: mem-estimate=290.14MB mem-reservation=71.94MB thread-reservation=1
-max-parallelism=120 segment-costs=[104611, 3806, 285519, 103043, 202618] cpu-comparison-result=650 [max(120 (self) vs 650 (sum children))]
+Per-Instance Resources: mem-estimate=54.14MB mem-reservation=7.94MB thread-reservation=1
+max-parallelism=120 segment-costs=[104611, 3806, 285519, 71964, 107151] cpu-comparison-result=650 [max(120 (self) vs 650 (sum children))]
37:AGGREGATE [STREAMING]
| Class 0
| output: sum(SALES), sum(returns), sum(PROFIT)
@@ -744,8 +744,8 @@ max-parallelism=120 segment-costs=[104611, 3806, 285519, 103043, 202618] cpu-com
| Class 2
| output: sum(SALES), sum(returns), sum(PROFIT)
| group by: NULL, NULL
-| mem-estimate=266.00MB mem-reservation=70.00MB thread-reservation=0
-| tuple-ids=40N,41N,42N row-size=192B cardinality=14.57K cost=98769
+| mem-estimate=30.00MB mem-reservation=6.00MB thread-reservation=0
+| tuple-ids=40N,41N,42N row-size=192B cardinality=7.70K cost=67690
| in pipelines: 43(GETNEXT), 50(GETNEXT), 58(GETNEXT)
|
00:UNION
@@ -1406,14 +1406,14 @@ max-parallelism=1190 segment-costs=[11885789540, 448502] cpu-comparison-result=1
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M
+ extrapolated-rows=disabled max-scan-range-rows=12.31M
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_store_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=0 row-size=16B cardinality=7.88G cost=2132551022
in pipelines: 02(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=1.37GB Threads=116
-Per-Host Resource Estimates: Memory=6.73GB
+Max Per-Host Resource Reservation: Memory=535.15MB Threads=116
+Per-Host Resource Estimates: Memory=3.63GB
ImpalaSortRel(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], SALES=[SUM($2)], returns=[SUM($3)], PROFIT=[SUM($4)])
ImpalaUnionRel(all=[true])
@@ -1515,19 +1515,19 @@ PLAN-ROOT SINK
| in pipelines: 39(GETNEXT)
|
F24:PLAN FRAGMENT [HASH(CASE valid_tid(40,41,42) WHEN 40 THEN murmur_hash(CHANNEL) WHEN 41 THEN murmur_hash(CHANNEL) WHEN 42 THEN murmur_hash(NULL) END,CASE valid_tid(40,41,42) WHEN 40 THEN murmur_hash(ID) WHEN 41 THEN murmur_hash(NULL) WHEN 42 THEN murmur_hash(NULL) END)] hosts=10 instances=10 (adjusted from 120)
-Per-Instance Resources: mem-estimate=394.00MB mem-reservation=103.94MB thread-reservation=1
-max-parallelism=10 segment-costs=[103031, 87297, 112554, 199] cpu-comparison-result=650 [max(10 (self) vs 650 (sum children))]
+Per-Instance Resources: mem-estimate=54.05MB mem-reservation=7.75MB thread-reservation=1
+max-parallelism=10 segment-costs=[52615, 43669, 52232, 199] cpu-comparison-result=650 [max(10 (self) vs 650 (sum children))]
39:TOP-N [LIMIT=100]
| order by: CASE valid_tid(40,41,42) WHEN 40 THEN CHANNEL WHEN 41 THEN CHANNEL WHEN 42 THEN NULL END ASC NULLS LAST, CASE valid_tid(40,41,42) WHEN 40 THEN ID WHEN 41 THEN NULL WHEN 42 THEN NULL END ASC NULLS LAST
| mem-estimate=6.25KB mem-reservation=0B thread-reservation=0
-| tuple-ids=44 row-size=64B cardinality=100 cost=112554
+| tuple-ids=44 row-size=64B cardinality=100 cost=52232
| in pipelines: 39(GETNEXT), 38(OPEN)
|
38:AGGREGATE [FINALIZE]
| output: aggif(valid_tid(40,41,42) IN (CAST(40 AS INT), CAST(41 AS INT), CAST(42 AS INT)), CASE valid_tid(40,41,42) WHEN CAST(40 AS INT) THEN sum(SALES) WHEN CAST(41 AS INT) THEN sum(SALES) WHEN CAST(42 AS INT) THEN sum(SALES) END), aggif(valid_tid(40,41,42) IN (CAST(40 AS INT), CAST(41 AS INT), CAST(42 AS INT)), CASE valid_tid(40,41,42) WHEN CAST(40 AS INT) THEN sum(returns) WHEN CAST(41 AS INT) THEN sum(returns) WHEN CAST(42 AS INT) THEN sum(returns) END), aggif(valid_tid(40,41,42) I [...]
| group by: CASE valid_tid(40,41,42) WHEN CAST(40 AS INT) THEN CHANNEL WHEN CAST(41 AS INT) THEN CHANNEL WHEN CAST(42 AS INT) THEN NULL END, CASE valid_tid(40,41,42) WHEN CAST(40 AS INT) THEN ID WHEN CAST(41 AS INT) THEN NULL WHEN CAST(42 AS INT) THEN NULL END, CASE valid_tid(40,41,42) WHEN CAST(40 AS INT) THEN CAST(40 AS INT) WHEN CAST(41 AS INT) THEN CAST(41 AS INT) WHEN CAST(42 AS INT) THEN CAST(42 AS INT) END
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=43 row-size=68B cardinality=14.45K cost=87297
+| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=43 row-size=68B cardinality=7.23K cost=43669
| in pipelines: 38(GETNEXT), 64(OPEN)
|
64:AGGREGATE [FINALIZE]
@@ -1540,18 +1540,18 @@ max-parallelism=10 segment-costs=[103031, 87297, 112554, 199] cpu-comparison-res
| Class 2
| output: sum:merge(SALES), sum:merge(returns), sum:merge(PROFIT)
| group by: NULL, NULL
-| mem-estimate=266.00MB mem-reservation=69.94MB thread-reservation=0
-| tuple-ids=40N,41N,42N row-size=192B cardinality=14.45K cost=87476
+| mem-estimate=30.00MB mem-reservation=5.81MB thread-reservation=0
+| tuple-ids=40N,41N,42N row-size=192B cardinality=7.23K cost=44389
| in pipelines: 64(GETNEXT), 43(OPEN), 50(OPEN), 58(OPEN)
|
63:EXCHANGE [HASH(CASE valid_tid(40,41,42) WHEN 40 THEN murmur_hash(CHANNEL) WHEN 41 THEN murmur_hash(CHANNEL) WHEN 42 THEN murmur_hash(NULL) END,CASE valid_tid(40,41,42) WHEN 40 THEN murmur_hash(ID) WHEN 41 THEN murmur_hash(NULL) WHEN 42 THEN murmur_hash(NULL) END)]
-| mem-estimate=24.17MB mem-reservation=0B thread-reservation=0
-| tuple-ids=40N,41N,42N row-size=192B cardinality=14.57K cost=15555
+| mem-estimate=24.05MB mem-reservation=0B thread-reservation=0
+| tuple-ids=40N,41N,42N row-size=192B cardinality=7.70K cost=8226
| in pipelines: 43(GETNEXT), 50(GETNEXT), 58(GETNEXT)
|
F23:PLAN FRAGMENT [RANDOM] hosts=10 instances=120
-Per-Instance Resources: mem-estimate=290.14MB mem-reservation=71.94MB thread-reservation=1
-max-parallelism=120 segment-costs=[104611, 3806, 285519, 103043, 202618] cpu-comparison-result=650 [max(120 (self) vs 650 (sum children))]
+Per-Instance Resources: mem-estimate=54.14MB mem-reservation=7.94MB thread-reservation=1
+max-parallelism=120 segment-costs=[104611, 3806, 285519, 71964, 107151] cpu-comparison-result=650 [max(120 (self) vs 650 (sum children))]
37:AGGREGATE [STREAMING]
| Class 0
| output: sum(SALES), sum(returns), sum(PROFIT)
@@ -1562,8 +1562,8 @@ max-parallelism=120 segment-costs=[104611, 3806, 285519, 103043, 202618] cpu-com
| Class 2
| output: sum(SALES), sum(returns), sum(PROFIT)
| group by: NULL, NULL
-| mem-estimate=266.00MB mem-reservation=70.00MB thread-reservation=0
-| tuple-ids=40N,41N,42N row-size=192B cardinality=14.57K cost=98769
+| mem-estimate=30.00MB mem-reservation=6.00MB thread-reservation=0
+| tuple-ids=40N,41N,42N row-size=192B cardinality=7.70K cost=67690
| in pipelines: 43(GETNEXT), 50(GETNEXT), 58(GETNEXT)
|
00:UNION
@@ -2224,7 +2224,7 @@ max-parallelism=1190 segment-costs=[11885789540, 448502] cpu-comparison-result=1
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M
+ extrapolated-rows=disabled max-scan-range-rows=12.31M
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_store_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=0 row-size=16B cardinality=7.88G cost=2132551022
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q80.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q80.test
index 8f0daff8a..e64eb99b0 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q80.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q80.test
@@ -96,8 +96,8 @@ group by web_site_id)
# end query 80 in stream 0 using template query80.tpl
---- PLAN
-Max Per-Host Resource Reservation: Memory=128.56MB Threads=1
-Per-Host Resource Estimates: Memory=40.46GB
+Max Per-Host Resource Reservation: Memory=71.00MB Threads=1
+Per-Host Resource Estimates: Memory=40.23GB
ImpalaSortRel(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], SALES=[SUM($2)], returns=[SUM($3)], PROFIT=[SUM($4)])
ImpalaUnionRel(all=[true])
@@ -190,8 +190,8 @@ ImpalaSortRel(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT
ImpalaFilterRel(condition=[IS NOT NULL($0)])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, web_site]])
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=40.46GB mem-reservation=128.56MB thread-reservation=1 runtime-filters-memory=10.00MB
-| max-parallelism=1 segment-costs=[8901250926, 4709718202, 2368390310, 508568, 443665, 669120, 500]
+| Per-Instance Resources: mem-estimate=40.23GB mem-reservation=71.00MB thread-reservation=1 runtime-filters-memory=10.00MB
+| max-parallelism=1 segment-costs=[8901250926, 4709718202, 2368390310, 342336, 221854, 313895, 500]
PLAN-ROOT SINK
| output exprs: CASE valid_tid(41,42,43) WHEN 41 THEN CHANNEL WHEN 42 THEN CHANNEL WHEN 43 THEN NULL END, CASE valid_tid(41,42,43) WHEN 41 THEN ID WHEN 42 THEN NULL WHEN 43 THEN NULL END, aggif(valid_tid(41,42,43) IN (41, 42, 43), CASE valid_tid(41,42,43) WHEN 41 THEN sum(SALES) WHEN 42 THEN sum(SALES) WHEN 43 THEN sum(SALES) END), aggif(valid_tid(41,42,43) IN (41, 42, 43), CASE valid_tid(41,42,43) WHEN 41 THEN sum(returns) WHEN 42 THEN sum(returns) WHEN 43 THEN sum(returns) END), aggif [...]
| mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=500
@@ -199,14 +199,14 @@ PLAN-ROOT SINK
40:TOP-N [LIMIT=100]
| order by: CASE valid_tid(41,42,43) WHEN 41 THEN CHANNEL WHEN 42 THEN CHANNEL WHEN 43 THEN NULL END ASC NULLS LAST, CASE valid_tid(41,42,43) WHEN 41 THEN ID WHEN 42 THEN NULL WHEN 43 THEN NULL END ASC NULLS LAST
| mem-estimate=7.03KB mem-reservation=0B thread-reservation=0
-| tuple-ids=45 row-size=72B cardinality=100 cost=669120
+| tuple-ids=45 row-size=72B cardinality=100 cost=313895
| in pipelines: 40(GETNEXT), 39(OPEN)
|
39:AGGREGATE [FINALIZE]
| output: aggif(valid_tid(41,42,43) IN (CAST(41 AS INT), CAST(42 AS INT), CAST(43 AS INT)), CASE valid_tid(41,42,43) WHEN CAST(41 AS INT) THEN sum(SALES) WHEN CAST(42 AS INT) THEN sum(SALES) WHEN CAST(43 AS INT) THEN sum(SALES) END), aggif(valid_tid(41,42,43) IN (CAST(41 AS INT), CAST(42 AS INT), CAST(43 AS INT)), CASE valid_tid(41,42,43) WHEN CAST(41 AS INT) THEN sum(returns) WHEN CAST(42 AS INT) THEN sum(returns) WHEN CAST(43 AS INT) THEN sum(returns) END), aggif(valid_tid(41,42,43) I [...]
| group by: CASE valid_tid(41,42,43) WHEN CAST(41 AS INT) THEN CHANNEL WHEN CAST(42 AS INT) THEN CHANNEL WHEN CAST(43 AS INT) THEN NULL END, CASE valid_tid(41,42,43) WHEN CAST(41 AS INT) THEN ID WHEN CAST(42 AS INT) THEN NULL WHEN CAST(43 AS INT) THEN NULL END, CASE valid_tid(41,42,43) WHEN CAST(41 AS INT) THEN CAST(41 AS INT) WHEN CAST(42 AS INT) THEN CAST(42 AS INT) WHEN CAST(43 AS INT) THEN CAST(43 AS INT) END
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=44 row-size=76B cardinality=73.42K cost=443665
+| mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
+| tuple-ids=44 row-size=76B cardinality=36.72K cost=221854
| in pipelines: 39(GETNEXT), 38(OPEN)
|
38:AGGREGATE [FINALIZE]
@@ -219,8 +219,8 @@ PLAN-ROOT SINK
| Class 2
| output: sum(SALES), sum(returns), sum(PROFIT)
| group by: NULL, NULL
-| mem-estimate=266.00MB mem-reservation=69.94MB thread-reservation=0
-| tuple-ids=41N,42N,43N row-size=216B cardinality=73.42K cost=499246
+| mem-estimate=30.00MB mem-reservation=12.38MB thread-reservation=0
+| tuple-ids=41N,42N,43N row-size=216B cardinality=36.72K cost=333014
| in pipelines: 38(GETNEXT), 13(OPEN), 25(OPEN), 37(OPEN)
|
00:UNION
@@ -598,14 +598,14 @@ PLAN-ROOT SINK
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M
+ extrapolated-rows=disabled max-scan-range-rows=12.31M
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_promo_sk IS NOT NULL, tpcds_partitioned_parquet_snap.store_sales.ss_store_sk IS NOT NULL, tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=2 row-size=32B cardinality=824.56M(filtered from 7.70G) cost=4496919003
in pipelines: 03(GETNEXT)
---- DISTRIBUTEDPLAN
-Max Per-Host Resource Reservation: Memory=1.81GB Threads=145
-Per-Host Resource Estimates: Memory=13.20GB
+Max Per-Host Resource Reservation: Memory=1.22GB Threads=145
+Per-Host Resource Estimates: Memory=11.02GB
ImpalaSortRel(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], SALES=[SUM($2)], returns=[SUM($3)], PROFIT=[SUM($4)])
ImpalaUnionRel(all=[true])
@@ -712,19 +712,19 @@ PLAN-ROOT SINK
| in pipelines: 40(GETNEXT)
|
F26:PLAN FRAGMENT [HASH(CASE valid_tid(41,42,43) WHEN 41 THEN murmur_hash(CHANNEL) WHEN 42 THEN murmur_hash(CHANNEL) WHEN 43 THEN murmur_hash(NULL) END,CASE valid_tid(41,42,43) WHEN 41 THEN murmur_hash(ID) WHEN 42 THEN murmur_hash(NULL) WHEN 43 THEN murmur_hash(NULL) END)] hosts=10 instances=10 (adjusted from 120)
-Per-Instance Resources: mem-estimate=394.00MB mem-reservation=103.94MB thread-reservation=1
-max-parallelism=10 segment-costs=[530498, 443665, 669120, 220] cpu-comparison-result=674 [max(10 (self) vs 674 (sum children))]
+Per-Instance Resources: mem-estimate=48.58MB mem-reservation=7.75MB thread-reservation=1
+max-parallelism=10 segment-costs=[266395, 221854, 313895, 220] cpu-comparison-result=674 [max(10 (self) vs 674 (sum children))]
40:TOP-N [LIMIT=100]
| order by: CASE valid_tid(41,42,43) WHEN 41 THEN CHANNEL WHEN 42 THEN CHANNEL WHEN 43 THEN NULL END ASC NULLS LAST, CASE valid_tid(41,42,43) WHEN 41 THEN ID WHEN 42 THEN NULL WHEN 43 THEN NULL END ASC NULLS LAST
| mem-estimate=7.03KB mem-reservation=0B thread-reservation=0
-| tuple-ids=45 row-size=72B cardinality=100 cost=669120
+| tuple-ids=45 row-size=72B cardinality=100 cost=313895
| in pipelines: 40(GETNEXT), 39(OPEN)
|
39:AGGREGATE [FINALIZE]
| output: aggif(valid_tid(41,42,43) IN (CAST(41 AS INT), CAST(42 AS INT), CAST(43 AS INT)), CASE valid_tid(41,42,43) WHEN CAST(41 AS INT) THEN sum(SALES) WHEN CAST(42 AS INT) THEN sum(SALES) WHEN CAST(43 AS INT) THEN sum(SALES) END), aggif(valid_tid(41,42,43) IN (CAST(41 AS INT), CAST(42 AS INT), CAST(43 AS INT)), CASE valid_tid(41,42,43) WHEN CAST(41 AS INT) THEN sum(returns) WHEN CAST(42 AS INT) THEN sum(returns) WHEN CAST(43 AS INT) THEN sum(returns) END), aggif(valid_tid(41,42,43) I [...]
| group by: CASE valid_tid(41,42,43) WHEN CAST(41 AS INT) THEN CHANNEL WHEN CAST(42 AS INT) THEN CHANNEL WHEN CAST(43 AS INT) THEN NULL END, CASE valid_tid(41,42,43) WHEN CAST(41 AS INT) THEN ID WHEN CAST(42 AS INT) THEN NULL WHEN CAST(43 AS INT) THEN NULL END, CASE valid_tid(41,42,43) WHEN CAST(41 AS INT) THEN CAST(41 AS INT) WHEN CAST(42 AS INT) THEN CAST(42 AS INT) WHEN CAST(43 AS INT) THEN CAST(43 AS INT) END
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=44 row-size=76B cardinality=73.42K cost=443665
+| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=44 row-size=76B cardinality=36.72K cost=221854
| in pipelines: 39(GETNEXT), 66(OPEN)
|
66:AGGREGATE [FINALIZE]
@@ -737,18 +737,18 @@ max-parallelism=10 segment-costs=[530498, 443665, 669120, 220] cpu-comparison-re
| Class 2
| output: sum:merge(SALES), sum:merge(returns), sum:merge(PROFIT)
| group by: NULL, NULL
-| mem-estimate=266.00MB mem-reservation=69.94MB thread-reservation=0
-| tuple-ids=41N,42N,43N row-size=216B cardinality=73.42K cost=443844
+| mem-estimate=30.00MB mem-reservation=5.81MB thread-reservation=0
+| tuple-ids=41N,42N,43N row-size=216B cardinality=36.72K cost=222573
| in pipelines: 66(GETNEXT), 48(OPEN), 56(OPEN), 64(OPEN)
|
65:EXCHANGE [HASH(CASE valid_tid(41,42,43) WHEN 41 THEN murmur_hash(CHANNEL) WHEN 42 THEN murmur_hash(CHANNEL) WHEN 43 THEN murmur_hash(NULL) END,CASE valid_tid(41,42,43) WHEN 41 THEN murmur_hash(ID) WHEN 42 THEN murmur_hash(NULL) WHEN 43 THEN murmur_hash(NULL) END)]
-| mem-estimate=19.33MB mem-reservation=0B thread-reservation=0
-| tuple-ids=41N,42N,43N row-size=216B cardinality=73.54K cost=86654
+| mem-estimate=18.58MB mem-reservation=0B thread-reservation=0
+| tuple-ids=41N,42N,43N row-size=216B cardinality=37.19K cost=43822
| in pipelines: 48(GETNEXT), 56(GETNEXT), 64(GETNEXT)
|
F25:PLAN FRAGMENT [RANDOM] hosts=10 instances=80 (adjusted from 120)
-Per-Instance Resources: mem-estimate=301.16MB mem-reservation=74.75MB thread-reservation=1
-max-parallelism=80 segment-costs=[74437, 3952483, 3622, 509107, 1136665] cpu-comparison-result=674 [max(80 (self) vs 674 (sum children))]
+Per-Instance Resources: mem-estimate=65.16MB mem-reservation=10.75MB thread-reservation=1
+max-parallelism=80 segment-costs=[74437, 3952483, 3622, 344492, 574824] cpu-comparison-result=674 [max(80 (self) vs 674 (sum children))]
38:AGGREGATE [STREAMING]
| Class 0
| output: sum(SALES), sum(returns), sum(PROFIT)
@@ -759,8 +759,8 @@ max-parallelism=80 segment-costs=[74437, 3952483, 3622, 509107, 1136665] cpu-com
| Class 2
| output: sum(SALES), sum(returns), sum(PROFIT)
| group by: NULL, NULL
-| mem-estimate=266.00MB mem-reservation=70.00MB thread-reservation=0
-| tuple-ids=41N,42N,43N row-size=216B cardinality=73.54K cost=499785
+| mem-estimate=30.00MB mem-reservation=6.00MB thread-reservation=0
+| tuple-ids=41N,42N,43N row-size=216B cardinality=37.19K cost=335170
| in pipelines: 48(GETNEXT), 56(GETNEXT), 64(GETNEXT)
|
00:UNION
@@ -1468,14 +1468,14 @@ max-parallelism=670 segment-costs=[6620983249]
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M
+ extrapolated-rows=disabled max-scan-range-rows=12.31M
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_promo_sk IS NOT NULL, tpcds_partitioned_parquet_snap.store_sales.ss_store_sk IS NOT NULL, tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=2 row-size=32B cardinality=824.56M(filtered from 7.70G) cost=4496919003
in pipelines: 03(GETNEXT)
---- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=1.81GB Threads=145
-Per-Host Resource Estimates: Memory=13.20GB
+Max Per-Host Resource Reservation: Memory=1.22GB Threads=145
+Per-Host Resource Estimates: Memory=11.02GB
ImpalaSortRel(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100:TINYINT])
ImpalaAggRel(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], SALES=[SUM($2)], returns=[SUM($3)], PROFIT=[SUM($4)])
ImpalaUnionRel(all=[true])
@@ -1582,19 +1582,19 @@ PLAN-ROOT SINK
| in pipelines: 40(GETNEXT)
|
F26:PLAN FRAGMENT [HASH(CASE valid_tid(41,42,43) WHEN 41 THEN murmur_hash(CHANNEL) WHEN 42 THEN murmur_hash(CHANNEL) WHEN 43 THEN murmur_hash(NULL) END,CASE valid_tid(41,42,43) WHEN 41 THEN murmur_hash(ID) WHEN 42 THEN murmur_hash(NULL) WHEN 43 THEN murmur_hash(NULL) END)] hosts=10 instances=10 (adjusted from 120)
-Per-Instance Resources: mem-estimate=394.00MB mem-reservation=103.94MB thread-reservation=1
-max-parallelism=10 segment-costs=[530498, 443665, 669120, 220] cpu-comparison-result=674 [max(10 (self) vs 674 (sum children))]
+Per-Instance Resources: mem-estimate=48.58MB mem-reservation=7.75MB thread-reservation=1
+max-parallelism=10 segment-costs=[266395, 221854, 313895, 220] cpu-comparison-result=674 [max(10 (self) vs 674 (sum children))]
40:TOP-N [LIMIT=100]
| order by: CASE valid_tid(41,42,43) WHEN 41 THEN CHANNEL WHEN 42 THEN CHANNEL WHEN 43 THEN NULL END ASC NULLS LAST, CASE valid_tid(41,42,43) WHEN 41 THEN ID WHEN 42 THEN NULL WHEN 43 THEN NULL END ASC NULLS LAST
| mem-estimate=7.03KB mem-reservation=0B thread-reservation=0
-| tuple-ids=45 row-size=72B cardinality=100 cost=669120
+| tuple-ids=45 row-size=72B cardinality=100 cost=313895
| in pipelines: 40(GETNEXT), 39(OPEN)
|
39:AGGREGATE [FINALIZE]
| output: aggif(valid_tid(41,42,43) IN (CAST(41 AS INT), CAST(42 AS INT), CAST(43 AS INT)), CASE valid_tid(41,42,43) WHEN CAST(41 AS INT) THEN sum(SALES) WHEN CAST(42 AS INT) THEN sum(SALES) WHEN CAST(43 AS INT) THEN sum(SALES) END), aggif(valid_tid(41,42,43) IN (CAST(41 AS INT), CAST(42 AS INT), CAST(43 AS INT)), CASE valid_tid(41,42,43) WHEN CAST(41 AS INT) THEN sum(returns) WHEN CAST(42 AS INT) THEN sum(returns) WHEN CAST(43 AS INT) THEN sum(returns) END), aggif(valid_tid(41,42,43) I [...]
| group by: CASE valid_tid(41,42,43) WHEN CAST(41 AS INT) THEN CHANNEL WHEN CAST(42 AS INT) THEN CHANNEL WHEN CAST(43 AS INT) THEN NULL END, CASE valid_tid(41,42,43) WHEN CAST(41 AS INT) THEN ID WHEN CAST(42 AS INT) THEN NULL WHEN CAST(43 AS INT) THEN NULL END, CASE valid_tid(41,42,43) WHEN CAST(41 AS INT) THEN CAST(41 AS INT) WHEN CAST(42 AS INT) THEN CAST(42 AS INT) WHEN CAST(43 AS INT) THEN CAST(43 AS INT) END
-| mem-estimate=128.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=44 row-size=76B cardinality=73.42K cost=443665
+| mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+| tuple-ids=44 row-size=76B cardinality=36.72K cost=221854
| in pipelines: 39(GETNEXT), 66(OPEN)
|
66:AGGREGATE [FINALIZE]
@@ -1607,18 +1607,18 @@ max-parallelism=10 segment-costs=[530498, 443665, 669120, 220] cpu-comparison-re
| Class 2
| output: sum:merge(SALES), sum:merge(returns), sum:merge(PROFIT)
| group by: NULL, NULL
-| mem-estimate=266.00MB mem-reservation=69.94MB thread-reservation=0
-| tuple-ids=41N,42N,43N row-size=216B cardinality=73.42K cost=443844
+| mem-estimate=30.00MB mem-reservation=5.81MB thread-reservation=0
+| tuple-ids=41N,42N,43N row-size=216B cardinality=36.72K cost=222573
| in pipelines: 66(GETNEXT), 48(OPEN), 56(OPEN), 64(OPEN)
|
65:EXCHANGE [HASH(CASE valid_tid(41,42,43) WHEN 41 THEN murmur_hash(CHANNEL) WHEN 42 THEN murmur_hash(CHANNEL) WHEN 43 THEN murmur_hash(NULL) END,CASE valid_tid(41,42,43) WHEN 41 THEN murmur_hash(ID) WHEN 42 THEN murmur_hash(NULL) WHEN 43 THEN murmur_hash(NULL) END)]
-| mem-estimate=19.33MB mem-reservation=0B thread-reservation=0
-| tuple-ids=41N,42N,43N row-size=216B cardinality=73.54K cost=86654
+| mem-estimate=18.58MB mem-reservation=0B thread-reservation=0
+| tuple-ids=41N,42N,43N row-size=216B cardinality=37.19K cost=43822
| in pipelines: 48(GETNEXT), 56(GETNEXT), 64(GETNEXT)
|
F25:PLAN FRAGMENT [RANDOM] hosts=10 instances=80 (adjusted from 120)
-Per-Instance Resources: mem-estimate=301.16MB mem-reservation=74.75MB thread-reservation=1
-max-parallelism=80 segment-costs=[74437, 3952483, 3622, 509107, 1136665] cpu-comparison-result=674 [max(80 (self) vs 674 (sum children))]
+Per-Instance Resources: mem-estimate=65.16MB mem-reservation=10.75MB thread-reservation=1
+max-parallelism=80 segment-costs=[74437, 3952483, 3622, 344492, 574824] cpu-comparison-result=674 [max(80 (self) vs 674 (sum children))]
38:AGGREGATE [STREAMING]
| Class 0
| output: sum(SALES), sum(returns), sum(PROFIT)
@@ -1629,8 +1629,8 @@ max-parallelism=80 segment-costs=[74437, 3952483, 3622, 509107, 1136665] cpu-com
| Class 2
| output: sum(SALES), sum(returns), sum(PROFIT)
| group by: NULL, NULL
-| mem-estimate=266.00MB mem-reservation=70.00MB thread-reservation=0
-| tuple-ids=41N,42N,43N row-size=216B cardinality=73.54K cost=499785
+| mem-estimate=30.00MB mem-reservation=6.00MB thread-reservation=0
+| tuple-ids=41N,42N,43N row-size=216B cardinality=37.19K cost=335170
| in pipelines: 48(GETNEXT), 56(GETNEXT), 64(GETNEXT)
|
00:UNION
@@ -2338,7 +2338,7 @@ max-parallelism=670 segment-costs=[6620983249]
table: rows=8.64G size=389.90GB
partitions: 1823/1823 rows=8.25G
columns: all
- extrapolated-rows=disabled max-scan-range-rows=12.22M
+ extrapolated-rows=disabled max-scan-range-rows=12.31M
parquet dictionary predicates: tpcds_partitioned_parquet_snap.store_sales.ss_promo_sk IS NOT NULL, tpcds_partitioned_parquet_snap.store_sales.ss_store_sk IS NOT NULL, tpcds_partitioned_parquet_snap.store_sales.ss_item_sk IS NOT NULL
mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
tuple-ids=2 row-size=32B cardinality=824.56M(filtered from 7.70G) cost=4496919003
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q87.test b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q87.test
index c2b6b724c..17cd8a25e 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q87.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/calcite_tpcds/tpcds-q87.test
@@ -24,7 +24,7 @@ from ((select distinct c_last_name, c_first_name, d_date
# end query 87 in stream 0 using template query87.tpl
---- PLAN
Max Per-Host Resource Reservation: Memory=189.44MB Threads=1
-Per-Host Resource Estimates: Memory=52.18GB
+Per-Host Resource Estimates: Memory=146.23GB
ImpalaAggRel(group=[{}], EXPR$0=[COUNT()])
ImpalaFilterRel(condition=[AND(>($3, 0), =($4, 0))])
ImpalaAggRel(group=[{0, 1, 2}], agg#0=[COUNT($3)], agg#1=[COUNT($4)])
@@ -81,8 +81,8 @@ ImpalaAggRel(group=[{}], EXPR$0=[COUNT()])
ImpalaFilterRel(condition=[IS NOT NULL($0)])
ImpalaHdfsScanRel(table=[[tpcds_partitioned_parquet_snap, customer]])
F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-| Per-Instance Resources: mem-estimate=52.18GB mem-reservation=189.44MB thread-reservation=1 runtime-filters-memory=51.00MB
-| max-parallelism=1 segment-costs=[50531762579, 27339416444, 67957413025, 13844381262, 18895080464, 21717663, 0]
+| Per-Instance Resources: mem-estimate=146.23GB mem-reservation=189.44MB thread-reservation=1 runtime-filters-memory=51.00MB
+| max-parallelism=1 segment-costs=[50531762579, 27339416444, 68380727952, 13844381262, 17009955048, 13739016, 0]
PLAN-ROOT SINK
| output exprs: count()
| mem-estimate=0B mem-reservation=0B thread-reservation=0 cost=0
@@ -90,20 +90,20 @@ PLAN-ROOT SINK
22:AGGREGATE [FINALIZE]
| output: count()
| mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-| tuple-ids=25 row-size=8B cardinality=1 cost=21717663
+| tuple-ids=25 row-size=8B cardinality=1 cost=13739016
... 261 lines suppressed ...