You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by jo...@apache.org on 2024/01/18 04:05:31 UTC

(impala) branch master updated: IMPALA-12690: Add TpcdsCpuCostPlannerTest

This is an automated email from the ASF dual-hosted git repository.

joemcdonnell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git


The following commit(s) were added to refs/heads/master by this push:
     new 02d105799 IMPALA-12690: Add TpcdsCpuCostPlannerTest
02d105799 is described below

commit 02d105799e2d65a16eede02a6e716d597d579508
Author: Riza Suminto <ri...@cloudera.com>
AuthorDate: Mon Jan 8 13:46:28 2024 -0800

    IMPALA-12690: Add TpcdsCpuCostPlannerTest
    
    This patch adds TpcdsCpuCostPlannerTest, which is a copy of
    TpcdsPlannerTest with COMPUTE_PROCESSING_COST option enabled.
    PROCESSING_COST_MIN_THREADS and MAX_FRAGMENT_INSTANCES_PER_NODE are set
    to 2 and 16 accordingly to match the same options in
    PlannerTest#testProcessingCost. PlannerTest#testProcessingCost is
    reduced to contain only corner case queries that is not subset of
    TPC-DS. TpcdsCpuCostPlannerTest runs for around 30 second.
    
    Testing:
    - Pass FE tests.
    
    Change-Id: If04fa584db5f13db0dd656ec9d99f7204c05d75d
    Reviewed-on: http://gerrit.cloudera.org:8080/20872
    Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
    Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
 .../org/apache/impala/planner/PlannerTest.java     |    8 +-
 .../org/apache/impala/planner/PlannerTestBase.java |    7 +
 .../impala/planner/TpcdsCpuCostPlannerTest.java    |  672 ++
 .../queries/PlannerTest/tpcds-processing-cost.test | 8789 --------------------
 .../PlannerTest/tpcds_cpu_cost/tpcds-q01.test      |  778 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q02.test      |  889 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q03.test      |  389 +
 .../PlannerTest/tpcds_cpu_cost/tpcds-q04.test      | 2356 ++++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q05.test      | 1403 ++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q06.test      |  853 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q07.test      |  565 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q08.test      |  786 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q09.test      | 2140 +++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q10a.test     |  946 +++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q11.test      | 1580 ++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q12.test      |  416 +
 .../PlannerTest/tpcds_cpu_cost/tpcds-q13.test      |  663 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q14a.test     | 5898 +++++++++++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q14b.test     | 4209 ++++++++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q15.test      |  496 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q16.test      |  672 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q17.test      |  895 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q18.test      |  884 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q19.test      |  690 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q20.test      |  418 +
 .../PlannerTest/tpcds_cpu_cost/tpcds-q21.test      |  472 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q22.test      |  534 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q23a.test     | 2382 ++++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q23b.test     | 2631 ++++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q24a.test     | 1433 ++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q24b.test     | 1433 ++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q25.test      |  889 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q26.test      |  568 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q27.test      |  619 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q28.test      | 1152 +++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q29.test      |  889 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q30.test      | 1017 +++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q31.test      | 2170 +++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q32.test      |  587 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q33.test      | 1653 ++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q34.test      |  598 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q35a.test     |  936 +++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q36.test      |  583 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q37.test      |  488 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q38.test      | 1042 +++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q39a.test     |  937 +++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q39b.test     |  938 +++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q40.test      |  556 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q41.test      |  363 +
 .../PlannerTest/tpcds_cpu_cost/tpcds-q42.test      |  375 +
 .../PlannerTest/tpcds_cpu_cost/tpcds-q43.test      |  383 +
 .../PlannerTest/tpcds_cpu_cost/tpcds-q44.test      | 1099 +++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q45.test      |  746 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q46.test      |  779 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q47.test      | 1502 ++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q48.test      |  555 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q49.test      | 1470 ++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q50.test      |  601 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q51.test      |  744 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q52.test      |  374 +
 .../PlannerTest/tpcds_cpu_cost/tpcds-q53.test      |  470 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q54.test      | 1417 ++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q55.test      |  371 +
 .../PlannerTest/tpcds_cpu_cost/tpcds-q56.test      | 1665 ++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q57.test      | 1518 ++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q58.test      | 1709 ++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q59.test      |  966 +++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q60.test      | 1659 ++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q61.test      | 1394 ++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q62.test      |  563 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q63.test      |  531 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q64.test      | 4107 +++++++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q65.test      |  802 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q66.test      | 1387 +++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q67.test      |  715 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q68.test      |  761 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q69.test      |  975 +++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q70.test      |  901 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q71.test      |  789 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q72.test      | 1143 +++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q73.test      |  583 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q74.test      | 1565 ++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q75.test      | 2497 ++++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q76.test      |  922 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q77.test      | 1898 +++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q78.test      | 1119 +++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q79.test      |  591 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q80.test      | 1962 +++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q81.test      | 1024 +++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q82.test      |  474 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q83.test      | 1649 ++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q84.test      |  501 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q85.test      |  948 +++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q86.test      |  483 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q87.test      | 1024 +++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q88.test      | 3400 ++++++++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q89.test      |  514 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q90.test      |  906 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q91.test      |  750 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q92.test      |  604 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q93.test      |  369 +
 .../PlannerTest/tpcds_cpu_cost/tpcds-q94.test      |  682 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q95.test      | 1017 +++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q96.test      |  418 +
 .../PlannerTest/tpcds_cpu_cost/tpcds-q97.test      |  514 ++
 .../PlannerTest/tpcds_cpu_cost/tpcds-q98.test      |  416 +
 .../PlannerTest/tpcds_cpu_cost/tpcds-q99.test      |  565 ++
 107 files changed, 113343 insertions(+), 8795 deletions(-)

diff --git a/fe/src/test/java/org/apache/impala/planner/PlannerTest.java b/fe/src/test/java/org/apache/impala/planner/PlannerTest.java
index 485a34c00..e50ab820a 100644
--- a/fe/src/test/java/org/apache/impala/planner/PlannerTest.java
+++ b/fe/src/test/java/org/apache/impala/planner/PlannerTest.java
@@ -1405,12 +1405,8 @@ public class PlannerTest extends PlannerTestBase {
    */
   @Test
   public void testProcessingCost() {
-    TQueryOptions options = tpcdsParquetQueryOptions();
-    options.setCompute_processing_cost(true);
-    options.setProcessing_cost_min_threads(2);
-    options.setMax_fragment_instances_per_node(16);
-    runPlannerTestFile(
-        "tpcds-processing-cost", "tpcds_partitioned_parquet_snap", options,
+    TQueryOptions options = tpcdsParquetCpuCostQueryOptions();
+    runPlannerTestFile("tpcds-processing-cost", "tpcds_partitioned_parquet_snap", options,
         tpcdsParquetTestOptions());
   }
 
diff --git a/fe/src/test/java/org/apache/impala/planner/PlannerTestBase.java b/fe/src/test/java/org/apache/impala/planner/PlannerTestBase.java
index 7b1baee33..474a05fa8 100644
--- a/fe/src/test/java/org/apache/impala/planner/PlannerTestBase.java
+++ b/fe/src/test/java/org/apache/impala/planner/PlannerTestBase.java
@@ -411,6 +411,13 @@ public class PlannerTestBase extends FrontendTestBase {
     return options;
   }
 
+  protected static TQueryOptions tpcdsParquetCpuCostQueryOptions() {
+    return tpcdsParquetQueryOptions()
+        .setCompute_processing_cost(true)
+        .setProcessing_cost_min_threads(2)
+        .setMax_fragment_instances_per_node(16);
+  }
+
   protected static Set<PlannerTestOption> tpcdsParquetTestOptions() {
     return ImmutableSet.of(PlannerTestOption.EXTENDED_EXPLAIN,
         PlannerTestOption.INCLUDE_RESOURCE_HEADER, PlannerTestOption.VALIDATE_RESOURCES,
diff --git a/fe/src/test/java/org/apache/impala/planner/TpcdsCpuCostPlannerTest.java b/fe/src/test/java/org/apache/impala/planner/TpcdsCpuCostPlannerTest.java
new file mode 100644
index 000000000..fe33d5b4c
--- /dev/null
+++ b/fe/src/test/java/org/apache/impala/planner/TpcdsCpuCostPlannerTest.java
@@ -0,0 +1,672 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+package org.apache.impala.planner;
+
+import org.apache.impala.thrift.TQueryOptions;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import java.nio.file.Paths;
+import java.util.Set;
+
+/**
+ * Plans from the TPC-DS qualification queries at scale factor 1 and
+ * COMPUTE_PROCESSING_COST option enabled. Single node, Distributed and Parallel plans
+ * are all included. Cardinality and resource checks are also preformed.
+ */
+public class TpcdsCpuCostPlannerTest extends PlannerTestBase {
+  private static Set<PlannerTestOption> testOptions = tpcdsParquetTestOptions();
+
+  private static TQueryOptions options = tpcdsParquetCpuCostQueryOptions();
+
+  @BeforeClass
+  public static void setUp() throws Exception {
+    PlannerTestBase.setUp();
+    Paths.get(outDir_.toString(), "tpcds_cpu_cost").toFile().mkdirs();
+  }
+
+  @Test
+  public void testQ1() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q01", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ2() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q02", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ3() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q03", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ4() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q04", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ5() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q05", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ6() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q06", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ7() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q07", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ8() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q08", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ9() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q09", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ10() {
+    // This is an official variant of q10 that uses a rewrite for lack of support for
+    // multiple subqueries in disjunctive predicates.
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q10a", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ11() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q11", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ12() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q12", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ13() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q13", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ14a() {
+    // First of the two query statements from the official q14.
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q14a", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ14b() {
+    // Second of the two query statements from the official q14.
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q14b", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ15() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q15", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ16() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q16", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ17() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q17", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ18() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q18", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ19() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q19", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ20() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q20", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ21() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q21", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ22() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q22", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ23a() {
+    // First of the two query statements from the official q23.
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q23a", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ23b() {
+    // Second of the two query statements from the official q23.
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q23b", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ24a() {
+    // First of the two query statements from the official q24.
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q24a", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ24b() {
+    // Second of the two query statements from the official q24.
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q24b", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ25() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q25", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ26() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q26", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ27() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q27", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ28() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q28", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ29() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q29", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ30() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q30", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ31() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q31", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ32() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q32", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ33() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q33", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ34() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q34", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ35() {
+    // This is an official variant of q35 that uses a rewrite for lack of support for
+    // multiple subqueries in disjunctive predicates.
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q35a", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ36() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q36", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ37() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q37", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ38() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q38", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ39a() {
+    // First of the two query statements from the official q39.
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q39a", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ39b() {
+    // Second of the two query statements from the official q39.
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q39b", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ40() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q40", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ41() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q41", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ42() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q42", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ43() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q43", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ44() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q44", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ45() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q45", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ46() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q46", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ47() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q47", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ48() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q48", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ49() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q49", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ50() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q50", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ51() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q51", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ52() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q52", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ53() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q53", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ54() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q54", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ55() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q55", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ56() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q56", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ57() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q57", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ58() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q58", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ59() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q59", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ60() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q60", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ61() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q61", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ62() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q62", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ63() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q63", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ64() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q64", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ65() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q65", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ66() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q66", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ67() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q67", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ68() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q68", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ69() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q69", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ70() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q70", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ71() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q71", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ72() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q72", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ73() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q73", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ74() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q74", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ75() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q75", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ76() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q76", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ77() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q77", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ78() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q78", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ79() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q79", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ80() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q80", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ81() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q81", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ82() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q82", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ83() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q83", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ84() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q84", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ85() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q85", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ86() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q86", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ87() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q87", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ88() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q88", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ89() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q89", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ90() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q90", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ91() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q91", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ92() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q92", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ93() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q93", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ94() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q94", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ95() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q95", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ96() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q96", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ97() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q97", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ98() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q98", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+
+  @Test
+  public void testQ99() {
+    runPlannerTestFile("tpcds_cpu_cost/tpcds-q99", "tpcds_partitioned_parquet_snap",
+        options, testOptions);
+  }
+}
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds-processing-cost.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds-processing-cost.test
index 21f6cf47d..4c2104f26 100644
--- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds-processing-cost.test
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds-processing-cost.test
@@ -29,8795 +29,6 @@ max-parallelism=1 segment-costs=[0]
    tuple-ids=0 row-size=16B cardinality=0 cost=0
    in pipelines: 00(GETNEXT)
 ====
-# TPCDS-Q3
-select
-  dt.d_year,
-  item.i_brand_id brand_id,
-  item.i_brand brand,
-  sum(ss_ext_sales_price) sum_agg
-from
-  date_dim dt,
-  store_sales,
-  item
-where
-  dt.d_date_sk = store_sales.ss_sold_date_sk
-  and store_sales.ss_item_sk = item.i_item_sk
-  and item.i_manufact_id = 436
-  and dt.d_moy = 12
-group by
-  dt.d_year,
-  item.i_brand,
-  item.i_brand_id
-order by
-  dt.d_year,
-  sum_agg desc,
-  brand_id
-limit 100
----- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=33.25MB Threads=14
-Per-Host Resource Estimates: Memory=169MB
-F05: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=[406] cpu-comparison-result=18 [max(1 (self) vs 18 (sum children))]
-PLAN-ROOT SINK
-|  output exprs: dt.d_year, item.i_brand_id, item.i_brand, sum(ss_ext_sales_price)
-|  mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=400
-|
-12:MERGING-EXCHANGE [UNPARTITIONED]
-|  order by: dt.d_year ASC, sum(ss_ext_sales_price) DESC, item.i_brand_id ASC
-|  limit: 100
-|  mem-estimate=34.63KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=4 row-size=52B cardinality=100 cost=6
-|  in pipelines: 06(GETNEXT)
-|
-F04:PLAN FRAGMENT [HASH(dt.d_year,item.i_brand,item.i_brand_id)] hosts=3 instances=6 (adjusted from 48)
-Per-Instance Resources: mem-estimate=10.38MB mem-reservation=1.94MB thread-reservation=1
-max-parallelism=6 segment-costs=[12331, 300, 6] cpu-comparison-result=18 [max(6 (self) vs 18 (sum children))]
-06:TOP-N [LIMIT=100]
-|  order by: dt.d_year ASC, sum(ss_ext_sales_price) DESC, item.i_brand_id ASC
-|  mem-estimate=5.10KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=4 row-size=52B cardinality=100 cost=300
-|  in pipelines: 06(GETNEXT), 11(OPEN)
-|
-11:AGGREGATE [FINALIZE]
-|  output: sum:merge(ss_ext_sales_price)
-|  group by: dt.d_year, item.i_brand, item.i_brand_id
-|  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=3 row-size=52B cardinality=3.04K cost=12164
-|  in pipelines: 11(GETNEXT), 01(OPEN)
-|
-10:EXCHANGE [HASH(dt.d_year,item.i_brand,item.i_brand_id)]
-|  mem-estimate=388.85KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=3 row-size=52B cardinality=3.04K cost=167
-|  in pipelines: 01(GETNEXT)
-|
-F03:PLAN FRAGMENT [HASH(store_sales.ss_sold_date_sk)] hosts=3 instances=6 (adjusted from 48)
-Per-Instance Resources: mem-estimate=12.17MB mem-reservation=2.00MB thread-reservation=1
-max-parallelism=6 segment-costs=[15408, 167] cpu-comparison-result=18 [max(18 (self) vs 11 (sum children))]
-05:AGGREGATE [STREAMING]
-|  output: sum(ss_ext_sales_price)
-|  group by: dt.d_year, item.i_brand, item.i_brand_id
-|  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=3 row-size=52B cardinality=3.04K cost=12164
-|  in pipelines: 01(GETNEXT)
-|
-04:HASH JOIN [INNER JOIN, PARTITIONED]
-|  hash-table-id=00
-|  hash predicates: store_sales.ss_sold_date_sk = dt.d_date_sk
-|  fk/pk conjuncts: store_sales.ss_sold_date_sk = dt.d_date_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=1,2,0 row-size=72B cardinality=3.04K cost=3041
-|  in pipelines: 01(GETNEXT), 00(OPEN)
-|
-|--F06:PLAN FRAGMENT [HASH(store_sales.ss_sold_date_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=3.02MB mem-reservation=2.94MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=6 segment-costs=[6183]
-|  JOIN BUILD
-|  |  join-table-id=00 plan-id=01 cohort-id=01
-|  |  build expressions: dt.d_date_sk
-|  |  runtime filters: RF000[bloom] <- dt.d_date_sk
-|  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=6087
-|  |
-|  09:EXCHANGE [HASH(dt.d_date_sk)]
-|  |  mem-estimate=87.33KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=0 row-size=12B cardinality=6.09K cost=96
-|  |  in pipelines: 00(GETNEXT)
-|  |
-|  F02:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  Per-Instance Resources: mem-estimate=16.38MB mem-reservation=512.00KB thread-reservation=1
-|  max-parallelism=1 segment-costs=[124002]
-|  00:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim dt, RANDOM]
-|     HDFS partitions=1/1 files=1 size=2.15MB
-|     predicates: dt.d_moy = CAST(12 AS INT)
-|     stored statistics:
-|       table: rows=73.05K size=2.15MB
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|     parquet statistics predicates: dt.d_moy = CAST(12 AS INT)
-|     parquet dictionary predicates: dt.d_moy = CAST(12 AS INT)
-|     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|     tuple-ids=0 row-size=12B cardinality=6.09K cost=123906
-|     in pipelines: 00(GETNEXT)
-|
-08:EXCHANGE [HASH(store_sales.ss_sold_date_sk)]
-|  mem-estimate=877.96KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=1,2 row-size=60B cardinality=3.04K cost=203
-|  in pipelines: 01(GETNEXT)
-|
-F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-Per-Host Shared Resources: mem-estimate=2.00MB mem-reservation=2.00MB thread-reservation=0 runtime-filters-memory=2.00MB
-Per-Instance Resources: mem-estimate=17.60MB mem-reservation=1.00MB thread-reservation=1
-max-parallelism=12 segment-costs=[91203296]
-03:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash-table-id=01
-|  hash predicates: store_sales.ss_item_sk = item.i_item_sk
-|  fk/pk conjuncts: store_sales.ss_item_sk = item.i_item_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=1,2 row-size=60B cardinality=3.04K cost=3045
-|  in pipelines: 01(GETNEXT), 02(OPEN)
-|
-|--F07:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=8.77MB mem-reservation=8.75MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=3 segment-costs=[22]
-|  JOIN BUILD
-|  |  join-table-id=01 plan-id=02 cohort-id=01
-|  |  build expressions: item.i_item_sk
-|  |  runtime filters: RF002[bloom] <- item.i_item_sk, RF003[min_max] <- item.i_item_sk
-|  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=19
-|  |
-|  07:EXCHANGE [BROADCAST]
-|  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=2 row-size=44B cardinality=19 cost=3
-|  |  in pipelines: 02(GETNEXT)
-|  |
-|  F01:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  Per-Instance Resources: mem-estimate=16.19MB mem-reservation=256.00KB thread-reservation=1
-|  max-parallelism=1 segment-costs=[68778]
-|  02:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|     HDFS partitions=1/1 files=1 size=1.73MB
-|     predicates: item.i_manufact_id = CAST(436 AS INT)
-|     stored statistics:
-|       table: rows=18.00K size=1.73MB
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|     parquet statistics predicates: item.i_manufact_id = CAST(436 AS INT)
-|     parquet dictionary predicates: item.i_manufact_id = CAST(436 AS INT)
-|     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|     tuple-ids=2 row-size=44B cardinality=19 cost=68777
-|     in pipelines: 02(GETNEXT)
-|
-01:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-   HDFS partitions=1824/1824 files=1824 size=199.36MB
-   runtime filters: RF003[min_max] -> store_sales.ss_item_sk, RF000[bloom] -> store_sales.ss_sold_date_sk, RF002[bloom] -> store_sales.ss_item_sk
-   stored statistics:
-     table: rows=2.88M size=199.36MB
-     partitions: 1824/1824 rows=2.88M
-     columns: all
-   extrapolated-rows=disabled max-scan-range-rows=130.09K
-   mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-   tuple-ids=1 row-size=16B cardinality=3.04K(filtered from 2.88M) cost=91200048
-   in pipelines: 01(GETNEXT)
-====
-# TPCDS-Q14a first of two
-with  cross_items as
- (select i_item_sk ss_item_sk
- from item,
- (select iss.i_brand_id brand_id
-     ,iss.i_class_id class_id
-     ,iss.i_category_id category_id
- from store_sales
-     ,item iss
-     ,date_dim d1
- where ss_item_sk = iss.i_item_sk
-   and ss_sold_date_sk = d1.d_date_sk
-   and d1.d_year between 1999 AND 1999 + 2
- intersect
- select ics.i_brand_id
-     ,ics.i_class_id
-     ,ics.i_category_id
- from catalog_sales
-     ,item ics
-     ,date_dim d2
- where cs_item_sk = ics.i_item_sk
-   and cs_sold_date_sk = d2.d_date_sk
-   and d2.d_year between 1999 AND 1999 + 2
- intersect
- select iws.i_brand_id
-     ,iws.i_class_id
-     ,iws.i_category_id
- from web_sales
-     ,item iws
-     ,date_dim d3
- where ws_item_sk = iws.i_item_sk
-   and ws_sold_date_sk = d3.d_date_sk
-   and d3.d_year between 1999 AND 1999 + 2) t1
- where i_brand_id = brand_id
-      and i_class_id = class_id
-      and i_category_id = category_id
-),
- avg_sales as
- (select avg(quantity*list_price) average_sales
-  from (select ss_quantity quantity
-             ,ss_list_price list_price
-       from store_sales
-           ,date_dim
-       where ss_sold_date_sk = d_date_sk
-         and d_year between 1999 and 1999 + 2
-       union all
-       select cs_quantity quantity
-             ,cs_list_price list_price
-       from catalog_sales
-           ,date_dim
-       where cs_sold_date_sk = d_date_sk
-         and d_year between 1999 and 1999 + 2
-       union all
-       select ws_quantity quantity
-             ,ws_list_price list_price
-       from web_sales
-           ,date_dim
-       where ws_sold_date_sk = d_date_sk
-         and d_year between 1999 and 1999 + 2) x)
- select channel, i_brand_id,i_class_id,i_category_id,sum(sales), sum(number_sales)
- from(
-       select 'store' channel, i_brand_id,i_class_id
-             ,i_category_id,sum(ss_quantity*ss_list_price) sales
-             , count(*) number_sales
-       from store_sales
-           ,item
-           ,date_dim
-       where ss_item_sk in (select ss_item_sk from cross_items)
-         and ss_item_sk = i_item_sk
-         and ss_sold_date_sk = d_date_sk
-         and d_year = 1999+2
-         and d_moy = 11
-       group by i_brand_id,i_class_id,i_category_id
-       having sum(ss_quantity*ss_list_price) > (select average_sales from avg_sales)
-       union all
-       select 'catalog' channel, i_brand_id,i_class_id,i_category_id, sum(cs_quantity*cs_list_price) sales, count(*) number_sales
-       from catalog_sales
-           ,item
-           ,date_dim
-       where cs_item_sk in (select ss_item_sk from cross_items)
-         and cs_item_sk = i_item_sk
-         and cs_sold_date_sk = d_date_sk
-         and d_year = 1999+2
-         and d_moy = 11
-       group by i_brand_id,i_class_id,i_category_id
-       having sum(cs_quantity*cs_list_price) > (select average_sales from avg_sales)
-       union all
-       select 'web' channel, i_brand_id,i_class_id,i_category_id, sum(ws_quantity*ws_list_price) sales , count(*) number_sales
-       from web_sales
-           ,item
-           ,date_dim
-       where ws_item_sk in (select ss_item_sk from cross_items)
-         and ws_item_sk = i_item_sk
-         and ws_sold_date_sk = d_date_sk
-         and d_year = 1999+2
-         and d_moy = 11
-       group by i_brand_id,i_class_id,i_category_id
-       having sum(ws_quantity*ws_list_price) > (select average_sales from avg_sales)
- ) y
- group by rollup (channel, i_brand_id,i_class_id,i_category_id)
- order by channel,i_brand_id,i_class_id,i_category_id
-LIMIT 100
----- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=846.44MB Threads=204
-Per-Host Resource Estimates: Memory=3.21GB
-F82: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=[606] cpu-comparison-result=258 [max(1 (self) vs 258 (sum children))]
-PLAN-ROOT SINK
-|  output exprs: CASE valid_tid(104,105,106,107,108) WHEN 104 THEN channel WHEN 105 THEN channel WHEN 106 THEN channel WHEN 107 THEN channel WHEN 108 THEN NULL END, CASE valid_tid(104,105,106,107,108) WHEN 104 THEN i_brand_id WHEN 105 THEN i_brand_id WHEN 106 THEN i_brand_id WHEN 107 THEN NULL WHEN 108 THEN NULL END, CASE valid_tid(104,105,106,107,108) WHEN 104 THEN i_class_id WHEN 105 THEN i_class_id WHEN 106 THEN NULL WHEN 107 THEN NULL WHEN 108 THEN NULL END, CASE valid_tid(104,105,10 [...]
-|  mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=600
-|
-216:MERGING-EXCHANGE [UNPARTITIONED]
-|  order by: CASE valid_tid(104,105,106,107,108) WHEN 104 THEN channel WHEN 105 THEN channel WHEN 106 THEN channel WHEN 107 THEN channel WHEN 108 THEN NULL END ASC, CASE valid_tid(104,105,106,107,108) WHEN 104 THEN i_brand_id WHEN 105 THEN i_brand_id WHEN 106 THEN i_brand_id WHEN 107 THEN NULL WHEN 108 THEN NULL END ASC, CASE valid_tid(104,105,106,107,108) WHEN 104 THEN i_class_id WHEN 105 THEN i_class_id WHEN 106 THEN NULL WHEN 107 THEN NULL WHEN 108 THEN NULL END ASC, CASE valid_tid(10 [...]
-|  limit: 100
-|  mem-estimate=32.03KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=110 row-size=48B cardinality=100 cost=6
-|  in pipelines: 129(GETNEXT)
-|
-F81:PLAN FRAGMENT [HASH(CASE valid_tid(104,105,106,107,108) WHEN 104 THEN murmur_hash(channel) WHEN 105 THEN murmur_hash(channel) WHEN 106 THEN murmur_hash(channel) WHEN 107 THEN murmur_hash(channel) WHEN 108 THEN murmur_hash(NULL) END,CASE valid_tid(104,105,106,107,108) WHEN 104 THEN murmur_hash(i_brand_id) WHEN 105 THEN murmur_hash(i_brand_id) WHEN 106 THEN murmur_hash(i_brand_id) WHEN 107 THEN murmur_hash(NULL) WHEN 108 THEN murmur_hash(NULL) END,CASE valid_tid(104,105,106,107,108) WH [...]
-Per-Instance Resources: mem-estimate=68.52MB mem-reservation=30.44MB thread-reservation=1
-max-parallelism=6 segment-costs=[2025384, 2267013, 400, 6] cpu-comparison-result=258 [max(6 (self) vs 258 (sum children))]
-129:TOP-N [LIMIT=100]
-|  order by: CASE valid_tid(104,105,106,107,108) WHEN 104 THEN channel WHEN 105 THEN channel WHEN 106 THEN channel WHEN 107 THEN channel WHEN 108 THEN NULL END ASC, CASE valid_tid(104,105,106,107,108) WHEN 104 THEN i_brand_id WHEN 105 THEN i_brand_id WHEN 106 THEN i_brand_id WHEN 107 THEN NULL WHEN 108 THEN NULL END ASC, CASE valid_tid(104,105,106,107,108) WHEN 104 THEN i_class_id WHEN 105 THEN i_class_id WHEN 106 THEN NULL WHEN 107 THEN NULL WHEN 108 THEN NULL END ASC, CASE valid_tid(10 [...]
-|  mem-estimate=4.69KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=110 row-size=48B cardinality=100 cost=400
-|  in pipelines: 129(GETNEXT), 128(OPEN)
-|
-128:AGGREGATE [FINALIZE]
-|  output: aggif(valid_tid(104,105,106,107,108) IN (CAST(104 AS INT), CAST(105 AS INT), CAST(106 AS INT), CAST(107 AS INT), CAST(108 AS INT)), CASE valid_tid(104,105,106,107,108) WHEN CAST(104 AS INT) THEN sum(sales) WHEN CAST(105 AS INT) THEN sum(sales) WHEN CAST(106 AS INT) THEN sum(sales) WHEN CAST(107 AS INT) THEN sum(sales) WHEN CAST(108 AS INT) THEN sum(sales) END), aggif(valid_tid(104,105,106,107,108) IN (CAST(104 AS INT), CAST(105 AS INT), CAST(106 AS INT), CAST(107 AS INT), CAST [...]
-|  group by: CASE valid_tid(104,105,106,107,108) WHEN CAST(104 AS INT) THEN channel WHEN CAST(105 AS INT) THEN channel WHEN CAST(106 AS INT) THEN channel WHEN CAST(107 AS INT) THEN channel WHEN CAST(108 AS INT) THEN NULL END, CASE valid_tid(104,105,106,107,108) WHEN CAST(104 AS INT) THEN i_brand_id WHEN CAST(105 AS INT) THEN i_brand_id WHEN CAST(106 AS INT) THEN i_brand_id WHEN CAST(107 AS INT) THEN NULL WHEN CAST(108 AS INT) THEN NULL END, CASE valid_tid(104,105,106,107,108) WHEN CAST(1 [...]
-|  mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
-|  tuple-ids=109 row-size=52B cardinality=323.86K cost=2267013
-|  in pipelines: 128(GETNEXT), 215(OPEN)
-|
-215:AGGREGATE [FINALIZE]
-|  Class 0
-|    output: sum:merge(sales), sum:merge(number_sales)
-|    group by: channel, i_brand_id, i_class_id, i_category_id
-|  Class 1
-|    output: sum:merge(sales), sum:merge(number_sales)
-|    group by: channel, i_brand_id, i_class_id, NULL
-|  Class 2
-|    output: sum:merge(sales), sum:merge(number_sales)
-|    group by: channel, i_brand_id, NULL, NULL
-|  Class 3
-|    output: sum:merge(sales), sum:merge(number_sales)
-|    group by: channel, NULL, NULL, NULL
-|  Class 4
-|    output: sum:merge(sales), sum:merge(number_sales)
-|    group by: NULL, NULL, NULL, NULL
-|  mem-estimate=57.00MB mem-reservation=25.69MB thread-reservation=0
-|  tuple-ids=104N,105N,106N,107N,108N row-size=240B cardinality=323.86K cost=1943154
-|  in pipelines: 215(GETNEXT), 151(OPEN), 179(OPEN), 207(OPEN)
-|
-214:EXCHANGE [HASH(CASE valid_tid(104,105,106,107,108) WHEN 104 THEN murmur_hash(channel) WHEN 105 THEN murmur_hash(channel) WHEN 106 THEN murmur_hash(channel) WHEN 107 THEN murmur_hash(channel) WHEN 108 THEN murmur_hash(NULL) END,CASE valid_tid(104,105,106,107,108) WHEN 104 THEN murmur_hash(i_brand_id) WHEN 105 THEN murmur_hash(i_brand_id) WHEN 106 THEN murmur_hash(i_brand_id) WHEN 107 THEN murmur_hash(NULL) WHEN 108 THEN murmur_hash(NULL) END,CASE valid_tid(104,105,106,107,108) WHEN 10 [...]
-|  mem-estimate=11.52MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=104N,105N,106N,107N,108N row-size=240B cardinality=323.86K cost=82230
-|  in pipelines: 151(GETNEXT), 179(GETNEXT), 207(GETNEXT)
-|
-F80:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
-Per-Instance Resources: mem-estimate=82.03MB mem-reservation=42.88MB thread-reservation=1
-max-parallelism=6 segment-costs=[749813, 428467, 214644, 13268400, 82230] cpu-comparison-result=258 [max(6 (self) vs 258 (sum children))]
-127:AGGREGATE [STREAMING]
-|  Class 0
-|    output: sum(sales), sum(number_sales)
-|    group by: channel, i_brand_id, i_class_id, i_category_id
-|  Class 1
-|    output: sum(sales), sum(number_sales)
-|    group by: channel, i_brand_id, i_class_id, NULL
-|  Class 2
-|    output: sum(sales), sum(number_sales)
-|    group by: channel, i_brand_id, NULL, NULL
-|  Class 3
-|    output: sum(sales), sum(number_sales)
-|    group by: channel, NULL, NULL, NULL
-|  Class 4
-|    output: sum(sales), sum(number_sales)
-|    group by: NULL, NULL, NULL, NULL
-|  mem-estimate=64.00MB mem-reservation=40.00MB thread-reservation=0
-|  tuple-ids=104N,105N,106N,107N,108N row-size=240B cardinality=323.86K cost=8292750
-|  in pipelines: 151(GETNEXT), 179(GETNEXT), 207(GETNEXT)
-|
-00:UNION
-|  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  tuple-ids=102 row-size=48B cardinality=276.43K cost=4975650
-|  in pipelines: 151(GETNEXT), 179(GETNEXT), 207(GETNEXT)
-|
-|--126:NESTED LOOP JOIN [INNER JOIN, BROADCAST]
-|  |  join table id: 08
-|  |  predicates: sum(ws_quantity * ws_list_price) > avg(quantity * list_price)
-|  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=88,99 row-size=52B cardinality=42.60K cost=0
-|  |  in pipelines: 207(GETNEXT), 212(OPEN)
-|  |
-|  |--F91:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=16.02KB mem-reservation=0B thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[3] cpu-comparison-result=33 [max(3 (self) vs 33 (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
-|  |  |
-|  |  213:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=99 row-size=16B cardinality=1 cost=3
-|  |  |  in pipelines: 212(GETNEXT)
-|  |  |
-|  |  F79:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=96.00KB mem-reservation=0B thread-reservation=1
-|  |  max-parallelism=2 segment-costs=[2, 1] cpu-comparison-result=33 [max(2 (self) vs 33 (sum children))]
-|  |  212:AGGREGATE [FINALIZE]
-|  |  |  output: avg:merge(quantity * list_price)
-|  |  |  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  |  |  tuple-ids=99 row-size=16B cardinality=1 cost=1
-|  |  |  in pipelines: 212(GETNEXT), 125(OPEN)
-|  |  |
-|  |  211:EXCHANGE [UNPARTITIONED]
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=98 row-size=16B cardinality=1 cost=1
-|  |  |  in pipelines: 125(GETNEXT)
-|  |  |
-|  |  F78:PLAN FRAGMENT [RANDOM] hosts=3 instances=33 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=16.02MB mem-reservation=512.00KB thread-reservation=1
-|  |  max-parallelism=33 segment-costs=[314339768, 1] cpu-comparison-result=33 [max(33 (self) vs 12 (sum children))]
-|  |  125:AGGREGATE
-|  |  |  output: avg(CAST(quantity AS DECIMAL(10,0)) * list_price)
-|  |  |  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  |  |  tuple-ids=98 row-size=16B cardinality=1 cost=5041336
-|  |  |  in pipelines: 125(GETNEXT), 116(OPEN), 119(OPEN), 122(OPEN)
-|  |  |
-|  |  115:UNION
-|  |  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=96 row-size=8B cardinality=5.04M cost=30248016
-|  |  |  in pipelines: 116(GETNEXT), 119(GETNEXT), 122(GETNEXT)
-|  |  |
-|  |  |--124:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=11
-|  |  |  |  hash predicates: ws_sold_date_sk = d_date_sk
-|  |  |  |  fk/pk conjuncts: ws_sold_date_sk = d_date_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=94,95 row-size=20B cardinality=719.38K cost=719384
-|  |  |  |  in pipelines: 122(GETNEXT), 123(OPEN)
-|  |  |  |
-|  |  |  |--F94:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=21.38MB mem-reservation=21.31MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=11 plan-id=12 cohort-id=04
-|  |  |  |  |  build expressions: d_date_sk
-|  |  |  |  |  mem-estimate=21.31MB mem-reservation=21.31MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |  |
-|  |  |  |  210:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=95 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  |  in pipelines: 123(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F77: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=[196755]
-|  |  |  |  123:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |  |     predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=73.05K size=2.15MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |  |     parquet statistics predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |  |     parquet dictionary predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |  |     tuple-ids=95 row-size=8B cardinality=7.30K cost=196669
-|  |  |  |     in pipelines: 123(GETNEXT)
-|  |  |  |
-|  |  |  122:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
-|  |  |     HDFS partitions=1824/1824 files=1824 size=84.20MB
-|  |  |     stored statistics:
-|  |  |       table: rows=719.38K size=84.20MB
-|  |  |       partitions: 1824/1824 rows=719.38K
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=1.12K
-|  |  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |  |     tuple-ids=94 row-size=12B cardinality=719.38K cost=91208432
-|  |  |     in pipelines: 122(GETNEXT)
-|  |  |
-|  |  |--121:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=10
-|  |  |  |  hash predicates: cs_sold_date_sk = d_date_sk
-|  |  |  |  fk/pk conjuncts: cs_sold_date_sk = d_date_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=92,93 row-size=20B cardinality=1.44M cost=1441548
-|  |  |  |  in pipelines: 119(GETNEXT), 120(OPEN)
-|  |  |  |
-|  |  |  |--F93:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=21.38MB mem-reservation=21.31MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=10 plan-id=11 cohort-id=04
-|  |  |  |  |  build expressions: d_date_sk
-|  |  |  |  |  mem-estimate=21.31MB mem-reservation=21.31MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |  |
-|  |  |  |  209:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=93 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  |  in pipelines: 120(GETNEXT)
-|  |  |  |  |
-|  |  |  |  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=[196755]
-|  |  |  |  120:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |  |     predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=73.05K size=2.15MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |  |     parquet statistics predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |  |     parquet dictionary predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |  |     tuple-ids=93 row-size=8B cardinality=7.30K cost=196669
-|  |  |  |     in pipelines: 120(GETNEXT)
-|  |  |  |
-|  |  |  119:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
-|  |  |     HDFS partitions=1831/1831 files=1831 size=151.13MB
-|  |  |     stored statistics:
-|  |  |       table: rows=1.44M size=151.13MB
-|  |  |       partitions: 1831/1831 rows=1.44M
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=7.18K
-|  |  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |  |     tuple-ids=92 row-size=12B cardinality=1.44M cost=91566896
-|  |  |     in pipelines: 119(GETNEXT)
-|  |  |
-|  |  118:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=09
-|  |  |  hash predicates: ss_sold_date_sk = d_date_sk
-|  |  |  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=90,91 row-size=20B cardinality=2.88M cost=2880404
-|  |  |  in pipelines: 116(GETNEXT), 117(OPEN)
-|  |  |
-|  |  |--F92:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=21.38MB mem-reservation=21.31MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=09 plan-id=10 cohort-id=04
-|  |  |  |  build expressions: d_date_sk
-|  |  |  |  mem-estimate=21.31MB mem-reservation=21.31MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |
-|  |  |  208:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=91 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  in pipelines: 117(GETNEXT)
-|  |  |  |
-|  |  |  F73: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=[196755]
-|  |  |  117:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |     predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     stored statistics:
-|  |  |       table: rows=73.05K size=2.15MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |     parquet statistics predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     parquet dictionary predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=91 row-size=8B cardinality=7.30K cost=196669
-|  |  |     in pipelines: 117(GETNEXT)
-|  |  |
-|  |  116:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|  |     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|  |     stored statistics:
-|  |       table: rows=2.88M size=199.36MB
-|  |       partitions: 1824/1824 rows=2.88M
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=130.09K
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=90 row-size=12B cardinality=2.88M cost=91233752
-|  |     in pipelines: 116(GETNEXT)
-|  |
-|  207:AGGREGATE [FINALIZE]
-|  |  output: sum:merge(ws_quantity * ws_list_price), count:merge(*)
-|  |  group by: i_brand_id, i_class_id, i_category_id
-|  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=88 row-size=36B cardinality=42.60K cost=212980
-|  |  in pipelines: 207(GETNEXT), 85(OPEN)
-|  |
-|  206:EXCHANGE [HASH(i_brand_id,i_class_id,i_category_id)]
-|  |  mem-estimate=739.17KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=88 row-size=36B cardinality=42.60K cost=1664
-|  |  in pipelines: 85(GETNEXT)
-|  |
-|  F56:PLAN FRAGMENT [HASH(ws_item_sk)] hosts=3 instances=6 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=11.61MB mem-reservation=2.00MB thread-reservation=1
-|  max-parallelism=6 segment-costs=[299836, 1664] cpu-comparison-result=54 [max(12 (self) vs 54 (sum children))]
-|  114:AGGREGATE [STREAMING]
-|  |  output: sum(CAST(ws_quantity AS DECIMAL(10,0)) * ws_list_price), count(*)
-|  |  group by: i_brand_id, i_class_id, i_category_id
-|  |  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=88 row-size=36B cardinality=42.60K cost=212980
-|  |  in pipelines: 85(GETNEXT)
-|  |
-|  113:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
-|  |  hash-table-id=36
-|  |  hash predicates: ws_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=68,70,69 row-size=52B cardinality=42.60K cost=42596
-|  |  in pipelines: 85(GETNEXT), 205(OPEN)
-|  |
-|  |--F119:PLAN FRAGMENT [HASH(ws_item_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=11.94MB mem-reservation=3.88MB thread-reservation=1
-|  |  |  max-parallelism=6 segment-costs=[18186, 17975] cpu-comparison-result=43 [max(6 (self) vs 43 (sum children))]
-|  |  JOIN BUILD
-|  |  |  join-table-id=36 plan-id=37 cohort-id=01
-|  |  |  build expressions: tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  |  runtime filters: RF073[min_max] <- tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=17975
-|  |  |
-|  |  205:AGGREGATE [FINALIZE]
-|  |  |  group by: tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=170 row-size=8B cardinality=17.98K cost=17975
-|  |  |  in pipelines: 205(GETNEXT), 192(OPEN)
-|  |  |
-|  |  204:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item.i_item_sk)]
-|  |  |  mem-estimate=118.81KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=170 row-size=8B cardinality=17.98K cost=211
-|  |  |  in pipelines: 192(GETNEXT)
-|  |  |
-|  |  F60:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=20.76MB mem-reservation=3.94MB thread-reservation=1
-|  |  max-parallelism=6 segment-costs=[448725, 1488000, 211] cpu-comparison-result=43 [max(6 (self) vs 43 (sum children))]
-|  |  112:AGGREGATE [STREAMING]
-|  |  |  group by: tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  |  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=170 row-size=8B cardinality=17.98K cost=148800
-|  |  |  in pipelines: 192(GETNEXT)
-|  |  |
-|  |  109:HASH JOIN [INNER JOIN, PARTITIONED]
-|  |  |  hash-table-id=37
-|  |  |  hash predicates: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
-|  |  |  fk/pk conjuncts: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=75,71 row-size=32B cardinality=148.80K cost=446400
-|  |  |  in pipelines: 192(GETNEXT), 88(OPEN)
-|  |  |
-|  |  |--F120:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  |  Per-Instance Resources: mem-estimate=2.30MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  |  max-parallelism=6 segment-costs=[54422]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=37 plan-id=38 cohort-id=11
-|  |  |  |  build expressions: i_brand_id, i_category_id, i_class_id
-|  |  |  |  runtime filters: RF081[min_max] <- i_brand_id, RF082[min_max] <- i_category_id, RF083[min_max] <- i_class_id
-|  |  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=54000
-|  |  |  |
-|  |  |  203:EXCHANGE [HASH(i_brand_id,i_class_id,i_category_id)]
-|  |  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=71 row-size=20B cardinality=18.00K cost=422
-|  |  |  |  in pipelines: 88(GETNEXT)
-|  |  |  |
-|  |  |  F69:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  Per-Instance Resources: mem-estimate=16.56MB mem-reservation=256.00KB thread-reservation=1
-|  |  |  max-parallelism=1 segment-costs=[50774]
-|  |  |  88:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |  |     stored statistics:
-|  |  |       table: rows=18.00K size=1.73MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |  |     tuple-ids=71 row-size=20B cardinality=18.00K cost=50352
-|  |  |     in pipelines: 88(GETNEXT)
-|  |  |
-|  |  108:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
-|  |  |  hash-table-id=38
-|  |  |  hash predicates: iss.i_brand_id IS NOT DISTINCT FROM iws.i_brand_id, iss.i_category_id IS NOT DISTINCT FROM iws.i_category_id, iss.i_class_id IS NOT DISTINCT FROM iws.i_class_id
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=75 row-size=12B cardinality=148.80K cost=446400
-|  |  |  in pipelines: 192(GETNEXT), 201(OPEN)
-|  |  |
-|  |  |--F121:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  |  Per-Instance Resources: mem-estimate=2.60MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  |  max-parallelism=6 segment-costs=[448725] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=38 plan-id=39 cohort-id=11
-|  |  |  |  build expressions: iws.i_brand_id, iws.i_category_id, iws.i_class_id
-|  |  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=446400
-|  |  |  |
-|  |  |  202:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-|  |  |  |  mem-estimate=677.25KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=169 row-size=12B cardinality=148.80K cost=2325
-|  |  |  |  in pipelines: 201(GETNEXT)
-|  |  |  |
-|  |  |  F68:PLAN FRAGMENT [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=10.76MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  max-parallelism=6 segment-costs=[448725, 2325] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  |  201:AGGREGATE [FINALIZE]
-|  |  |  |  group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
-|  |  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=169 row-size=12B cardinality=148.80K cost=446400
-|  |  |  |  in pipelines: 201(GETNEXT), 100(OPEN)
-|  |  |  |
-|  |  |  200:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-|  |  |  |  mem-estimate=773.25KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=169 row-size=12B cardinality=148.80K cost=2325
-|  |  |  |  in pipelines: 100(GETNEXT)
-|  |  |  |
-|  |  |  F65:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=26.38MB mem-reservation=3.12MB thread-reservation=1
-|  |  |  max-parallelism=12 segment-costs=[94805352, 2325] cpu-comparison-result=12 [max(12 (self) vs 8 (sum children))]
-|  |  |  107:AGGREGATE [STREAMING]
-|  |  |  |  group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
-|  |  |  |  mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-|  |  |  |  tuple-ids=169 row-size=12B cardinality=148.80K cost=2158152
-|  |  |  |  in pipelines: 100(GETNEXT)
-|  |  |  |
-|  |  |  104:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=39
-|  |  |  |  hash predicates: ws_sold_date_sk = d3.d_date_sk
-|  |  |  |  fk/pk conjuncts: ws_sold_date_sk = d3.d_date_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=81,82,83 row-size=40B cardinality=719.38K cost=719384
-|  |  |  |  in pipelines: 100(GETNEXT), 102(OPEN)
-|  |  |  |
-|  |  |  |--F122:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=7.82MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=39 plan-id=40 cohort-id=12
-|  |  |  |  |  build expressions: d3.d_date_sk
-|  |  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |  |
-|  |  |  |  199:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=83 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  |  in pipelines: 102(GETNEXT)
-|  |  |  |  |
-|  |  |  |  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=[196755]
-|  |  |  |  102:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim d3, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |  |     predicates: d3.d_year <= CAST(2001 AS INT), d3.d_year >= CAST(1999 AS INT)
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=73.05K size=2.15MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |  |     parquet statistics predicates: d3.d_year <= CAST(2001 AS INT), d3.d_year >= CAST(1999 AS INT)
-|  |  |  |     parquet dictionary predicates: d3.d_year <= CAST(2001 AS INT), d3.d_year >= CAST(1999 AS INT)
-|  |  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |  |     tuple-ids=83 row-size=8B cardinality=7.30K cost=196669
-|  |  |  |     in pipelines: 102(GETNEXT)
-|  |  |  |
-|  |  |  103:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=40
-|  |  |  |  hash predicates: ws_item_sk = iws.i_item_sk
-|  |  |  |  fk/pk conjuncts: ws_item_sk = iws.i_item_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=81,82 row-size=32B cardinality=719.38K cost=719384
-|  |  |  |  in pipelines: 100(GETNEXT), 101(OPEN)
-|  |  |  |
-|  |  |  |--F123:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=8.12MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[19266]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=40 plan-id=41 cohort-id=12
-|  |  |  |  |  build expressions: iws.i_item_sk
-|  |  |  |  |  runtime filters: RF101[min_max] <- iws.i_item_sk
-|  |  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |  |  |
-|  |  |  |  198:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=82 row-size=20B cardinality=18.00K cost=1266
-|  |  |  |  |  in pipelines: 101(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F66:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  |  Per-Instance Resources: mem-estimate=16.09MB mem-reservation=256.00KB thread-reservation=1
-|  |  |  |  max-parallelism=1 segment-costs=[50774]
-|  |  |  |  101:SCAN HDFS [tpcds_partitioned_parquet_snap.item iws, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=18.00K size=1.73MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |  |  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |  |  |     tuple-ids=82 row-size=20B cardinality=18.00K cost=50352
-|  |  |  |     in pipelines: 101(GETNEXT)
-|  |  |  |
-|  |  |  100:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
-|  |  |     HDFS partitions=1824/1824 files=1824 size=84.20MB
-|  |  |     runtime filters: RF101[min_max] -> ws_item_sk
-|  |  |     stored statistics:
-|  |  |       table: rows=719.38K size=84.20MB
-|  |  |       partitions: 1824/1824 rows=719.38K
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=1.12K
-|  |  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |  |     tuple-ids=81 row-size=12B cardinality=719.38K cost=91208432
-|  |  |     in pipelines: 100(GETNEXT)
-|  |  |
-|  |  106:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
-|  |  |  hash-table-id=41
-|  |  |  hash predicates: iss.i_brand_id IS NOT DISTINCT FROM ics.i_brand_id, iss.i_category_id IS NOT DISTINCT FROM ics.i_category_id, iss.i_class_id IS NOT DISTINCT FROM ics.i_class_id
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=75 row-size=12B cardinality=148.80K cost=446400
-|  |  |  in pipelines: 192(GETNEXT), 196(OPEN)
-|  |  |
-|  |  |--F124:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  |  Per-Instance Resources: mem-estimate=2.60MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  |  max-parallelism=6 segment-costs=[448725] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=41 plan-id=42 cohort-id=11
-|  |  |  |  build expressions: ics.i_brand_id, ics.i_category_id, ics.i_class_id
-|  |  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=446400
-|  |  |  |
-|  |  |  197:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-|  |  |  |  mem-estimate=677.25KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=168 row-size=12B cardinality=148.80K cost=2325
-|  |  |  |  in pipelines: 196(GETNEXT)
-|  |  |  |
-|  |  |  F64:PLAN FRAGMENT [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=10.76MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  max-parallelism=6 segment-costs=[448725, 2325] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  |  196:AGGREGATE [FINALIZE]
-|  |  |  |  group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
-|  |  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=168 row-size=12B cardinality=148.80K cost=446400
-|  |  |  |  in pipelines: 196(GETNEXT), 95(OPEN)
-|  |  |  |
-|  |  |  195:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-|  |  |  |  mem-estimate=773.25KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=168 row-size=12B cardinality=148.80K cost=2325
-|  |  |  |  in pipelines: 95(GETNEXT)
-|  |  |  |
-|  |  |  F61:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=26.38MB mem-reservation=5.12MB thread-reservation=1
-|  |  |  max-parallelism=12 segment-costs=[98774636, 2325] cpu-comparison-result=12 [max(12 (self) vs 8 (sum children))]
-|  |  |  105:AGGREGATE [STREAMING]
-|  |  |  |  group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
-|  |  |  |  mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-|  |  |  |  tuple-ids=168 row-size=12B cardinality=148.80K cost=4324644
-|  |  |  |  in pipelines: 95(GETNEXT)
-|  |  |  |
-|  |  |  99:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=42
-|  |  |  |  hash predicates: cs_sold_date_sk = d2.d_date_sk
-|  |  |  |  fk/pk conjuncts: cs_sold_date_sk = d2.d_date_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=77,78,79 row-size=40B cardinality=1.44M cost=1441548
-|  |  |  |  in pipelines: 95(GETNEXT), 97(OPEN)
-|  |  |  |
-|  |  |  |--F125:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=7.82MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=42 plan-id=43 cohort-id=13
-|  |  |  |  |  build expressions: d2.d_date_sk
-|  |  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |  |
-|  |  |  |  194:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=79 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  |  in pipelines: 97(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F63: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=[196755]
-|  |  |  |  97:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim d2, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |  |     predicates: d2.d_year <= CAST(2001 AS INT), d2.d_year >= CAST(1999 AS INT)
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=73.05K size=2.15MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |  |     parquet statistics predicates: d2.d_year <= CAST(2001 AS INT), d2.d_year >= CAST(1999 AS INT)
-|  |  |  |     parquet dictionary predicates: d2.d_year <= CAST(2001 AS INT), d2.d_year >= CAST(1999 AS INT)
-|  |  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |  |     tuple-ids=79 row-size=8B cardinality=7.30K cost=196669
-|  |  |  |     in pipelines: 97(GETNEXT)
-|  |  |  |
-|  |  |  98:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=43
-|  |  |  |  hash predicates: cs_item_sk = ics.i_item_sk
-|  |  |  |  fk/pk conjuncts: cs_item_sk = ics.i_item_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=77,78 row-size=32B cardinality=1.44M cost=1441548
-|  |  |  |  in pipelines: 95(GETNEXT), 96(OPEN)
-|  |  |  |
-|  |  |  |--F126:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=8.12MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[19266]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=43 plan-id=44 cohort-id=13
-|  |  |  |  |  build expressions: ics.i_item_sk
-|  |  |  |  |  runtime filters: RF097[min_max] <- ics.i_item_sk
-|  |  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |  |  |
-|  |  |  |  193:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=78 row-size=20B cardinality=18.00K cost=1266
-|  |  |  |  |  in pipelines: 96(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F62:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  |  Per-Instance Resources: mem-estimate=16.09MB mem-reservation=256.00KB thread-reservation=1
-|  |  |  |  max-parallelism=1 segment-costs=[50774]
-|  |  |  |  96:SCAN HDFS [tpcds_partitioned_parquet_snap.item ics, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=18.00K size=1.73MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |  |  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |  |  |     tuple-ids=78 row-size=20B cardinality=18.00K cost=50352
-|  |  |  |     in pipelines: 96(GETNEXT)
-|  |  |  |
-|  |  |  95:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
-|  |  |     HDFS partitions=1831/1831 files=1831 size=151.13MB
-|  |  |     runtime filters: RF097[min_max] -> cs_item_sk
-|  |  |     stored statistics:
-|  |  |       table: rows=1.44M size=151.13MB
-|  |  |       partitions: 1831/1831 rows=1.44M
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=7.18K
-|  |  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |  |     tuple-ids=77 row-size=12B cardinality=1.44M cost=91566896
-|  |  |     in pipelines: 95(GETNEXT)
-|  |  |
-|  |  192:AGGREGATE [FINALIZE]
-|  |  |  group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
-|  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=75 row-size=12B cardinality=148.80K cost=446400
-|  |  |  in pipelines: 192(GETNEXT), 89(OPEN)
-|  |  |
-|  |  191:EXCHANGE [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)]
-|  |  |  mem-estimate=773.25KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=75 row-size=12B cardinality=148.80K cost=2325
-|  |  |  in pipelines: 89(GETNEXT)
-|  |  |
-|  |  F57:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=26.38MB mem-reservation=5.50MB thread-reservation=1
-|  |  max-parallelism=12 segment-costs=[105635772, 2325] cpu-comparison-result=12 [max(12 (self) vs 8 (sum children))]
-|  |  94:AGGREGATE [STREAMING]
-|  |  |  group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
-|  |  |  mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-|  |  |  tuple-ids=75 row-size=12B cardinality=148.80K cost=8641212
-|  |  |  in pipelines: 89(GETNEXT)
-|  |  |
-|  |  93:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=44
-|  |  |  hash predicates: ss_sold_date_sk = d1.d_date_sk
-|  |  |  fk/pk conjuncts: ss_sold_date_sk = d1.d_date_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=72,73,74 row-size=40B cardinality=2.88M cost=2880404
-|  |  |  in pipelines: 89(GETNEXT), 91(OPEN)
-|  |  |
-|  |  |--F127:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=7.82MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=44 plan-id=45 cohort-id=11
-|  |  |  |  build expressions: d1.d_date_sk
-|  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |
-|  |  |  190:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=74 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  in pipelines: 91(GETNEXT)
-|  |  |  |
-|  |  |  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=[196755]
-|  |  |  91:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim d1, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |     predicates: d1.d_year <= CAST(2001 AS INT), d1.d_year >= CAST(1999 AS INT)
-|  |  |     stored statistics:
-|  |  |       table: rows=73.05K size=2.15MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |     parquet statistics predicates: d1.d_year <= CAST(2001 AS INT), d1.d_year >= CAST(1999 AS INT)
-|  |  |     parquet dictionary predicates: d1.d_year <= CAST(2001 AS INT), d1.d_year >= CAST(1999 AS INT)
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=74 row-size=8B cardinality=7.30K cost=196669
-|  |  |     in pipelines: 91(GETNEXT)
-|  |  |
-|  |  92:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=45
-|  |  |  hash predicates: ss_item_sk = iss.i_item_sk
-|  |  |  fk/pk conjuncts: ss_item_sk = iss.i_item_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=72,73 row-size=32B cardinality=2.88M cost=2880404
-|  |  |  in pipelines: 89(GETNEXT), 90(OPEN)
-|  |  |
-|  |  |--F128:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=8.12MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[19266]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=45 plan-id=46 cohort-id=11
-|  |  |  |  build expressions: iss.i_item_sk
-|  |  |  |  runtime filters: RF093[min_max] <- iss.i_item_sk
-|  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |  |
-|  |  |  189:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=73 row-size=20B cardinality=18.00K cost=1266
-|  |  |  |  in pipelines: 90(GETNEXT)
-|  |  |  |
-|  |  |  F58:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  Per-Instance Resources: mem-estimate=16.09MB mem-reservation=256.00KB thread-reservation=1
-|  |  |  max-parallelism=1 segment-costs=[50774]
-|  |  |  90:SCAN HDFS [tpcds_partitioned_parquet_snap.item iss, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |  |     runtime filters: RF081[min_max] -> iss.i_brand_id, RF082[min_max] -> iss.i_category_id, RF083[min_max] -> iss.i_class_id
-|  |  |     stored statistics:
-|  |  |       table: rows=18.00K size=1.73MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |  |     tuple-ids=73 row-size=20B cardinality=18.00K cost=50352
-|  |  |     in pipelines: 90(GETNEXT)
-|  |  |
-|  |  89:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|  |     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|  |     runtime filters: RF093[min_max] -> ss_item_sk
-|  |     stored statistics:
-|  |       table: rows=2.88M size=199.36MB
-|  |       partitions: 1824/1824 rows=2.88M
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=130.09K
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=72 row-size=12B cardinality=2.88M cost=91233752
-|  |     in pipelines: 89(GETNEXT)
-|  |
-|  111:HASH JOIN [INNER JOIN, PARTITIONED]
-|  |  hash-table-id=46
-|  |  hash predicates: ws_item_sk = i_item_sk
-|  |  fk/pk conjuncts: ws_item_sk = i_item_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=68,70,69 row-size=52B cardinality=42.60K cost=42596
-|  |  in pipelines: 85(GETNEXT), 86(OPEN)
-|  |
-|  |--F129:PLAN FRAGMENT [HASH(ws_item_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=2.30MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  max-parallelism=6 segment-costs=[18422]
-|  |  JOIN BUILD
-|  |  |  join-table-id=46 plan-id=47 cohort-id=01
-|  |  |  build expressions: i_item_sk
-|  |  |  runtime filters: RF075[min_max] <- i_item_sk
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |
-|  |  188:EXCHANGE [HASH(i_item_sk)]
-|  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=69 row-size=20B cardinality=18.00K cost=422
-|  |  |  in pipelines: 86(GETNEXT)
-|  |  |
-|  |  F55:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.56MB mem-reservation=256.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[50774]
-|  |  86:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |     runtime filters: RF073[min_max] -> tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |     stored statistics:
-|  |       table: rows=18.00K size=1.73MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |     tuple-ids=69 row-size=20B cardinality=18.00K cost=50352
-|  |     in pipelines: 86(GETNEXT)
-|  |
-|  187:EXCHANGE [HASH(ws_item_sk)]
-|  |  mem-estimate=683.71KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=68,70 row-size=32B cardinality=42.60K cost=1664
-|  |  in pipelines: 85(GETNEXT)
-|  |
-|  F53:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
-|  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=16.94MB mem-reservation=128.00KB thread-reservation=1
-|  max-parallelism=6 segment-costs=[5495092]
-|  110:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=47
-|  |  hash predicates: ws_sold_date_sk = d_date_sk
-|  |  fk/pk conjuncts: ws_sold_date_sk = d_date_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=68,70 row-size=32B cardinality=42.60K cost=42596
-|  |  in pipelines: 85(GETNEXT), 87(OPEN)
-|  |
-|  |--F130:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=4.89MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=3 segment-costs=[114]
-|  |  JOIN BUILD
-|  |  |  join-table-id=47 plan-id=48 cohort-id=01
-|  |  |  build expressions: d_date_sk
-|  |  |  runtime filters: RF076[bloom] <- d_date_sk
-|  |  |  mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0 cost=108
-|  |  |
-|  |  186:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=70 row-size=12B cardinality=108 cost=6
-|  |  |  in pipelines: 87(GETNEXT)
-|  |  |
-|  |  F54: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=[196957]
-|  |  87:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |     predicates: d_year = CAST(2001 AS INT), d_moy = CAST(11 AS INT)
-|  |     stored statistics:
-|  |       table: rows=73.05K size=2.15MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |     parquet statistics predicates: d_year = CAST(2001 AS INT), d_moy = CAST(11 AS INT)
-|  |     parquet dictionary predicates: d_year = CAST(2001 AS INT), d_moy = CAST(11 AS INT)
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=70 row-size=12B cardinality=108 cost=196955
-|  |     in pipelines: 87(GETNEXT)
-|  |
-|  85:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
-|     HDFS partitions=1824/1824 files=1824 size=84.20MB
-|     runtime filters: RF073[min_max] -> ws_item_sk, RF075[min_max] -> ws_item_sk, RF076[bloom] -> ws_sold_date_sk
-|     stored statistics:
-|       table: rows=719.38K size=84.20MB
-|       partitions: 1824/1824 rows=719.38K
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=1.12K est-scan-range=109(filtered from 1824)
-|     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|     tuple-ids=68 row-size=20B cardinality=42.60K(filtered from 719.38K) cost=5450832
-|     in pipelines: 85(GETNEXT)
-|
-|--84:NESTED LOOP JOIN [INNER JOIN, BROADCAST]
-|  |  join table id: 04
-|  |  predicates: sum(cs_quantity * cs_list_price) > avg(quantity * list_price)
-|  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=54,65 row-size=52B cardinality=85.03K cost=0
-|  |  in pipelines: 179(GETNEXT), 184(OPEN)
-|  |
-|  |--F87:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=16.02KB mem-reservation=0B thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[3] cpu-comparison-result=33 [max(3 (self) vs 33 (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
-|  |  |
-|  |  185:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=65 row-size=16B cardinality=1 cost=3
-|  |  |  in pipelines: 184(GETNEXT)
-|  |  |
-|  |  F52:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=96.00KB mem-reservation=0B thread-reservation=1
-|  |  max-parallelism=2 segment-costs=[2, 1] cpu-comparison-result=33 [max(2 (self) vs 33 (sum children))]
-|  |  184:AGGREGATE [FINALIZE]
-|  |  |  output: avg:merge(quantity * list_price)
-|  |  |  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  |  |  tuple-ids=65 row-size=16B cardinality=1 cost=1
-|  |  |  in pipelines: 184(GETNEXT), 83(OPEN)
-|  |  |
-|  |  183:EXCHANGE [UNPARTITIONED]
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=64 row-size=16B cardinality=1 cost=1
-|  |  |  in pipelines: 83(GETNEXT)
-|  |  |
-|  |  F51:PLAN FRAGMENT [RANDOM] hosts=3 instances=33 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=16.02MB mem-reservation=512.00KB thread-reservation=1
-|  |  max-parallelism=33 segment-costs=[314339768, 1] cpu-comparison-result=33 [max(33 (self) vs 12 (sum children))]
-|  |  83:AGGREGATE
-|  |  |  output: avg(CAST(quantity AS DECIMAL(10,0)) * list_price)
-|  |  |  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  |  |  tuple-ids=64 row-size=16B cardinality=1 cost=5041336
-|  |  |  in pipelines: 83(GETNEXT), 74(OPEN), 77(OPEN), 80(OPEN)
-|  |  |
-|  |  73:UNION
-|  |  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=62 row-size=8B cardinality=5.04M cost=30248016
-|  |  |  in pipelines: 74(GETNEXT), 77(GETNEXT), 80(GETNEXT)
-|  |  |
-|  |  |--82:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=07
-|  |  |  |  hash predicates: ws_sold_date_sk = d_date_sk
-|  |  |  |  fk/pk conjuncts: ws_sold_date_sk = d_date_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=60,61 row-size=20B cardinality=719.38K cost=719384
-|  |  |  |  in pipelines: 80(GETNEXT), 81(OPEN)
-|  |  |  |
-|  |  |  |--F90:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=21.38MB mem-reservation=21.31MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=07 plan-id=08 cohort-id=03
-|  |  |  |  |  build expressions: d_date_sk
-|  |  |  |  |  mem-estimate=21.31MB mem-reservation=21.31MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |  |
-|  |  |  |  182:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=61 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  |  in pipelines: 81(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F50: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=[196755]
-|  |  |  |  81:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |  |     predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=73.05K size=2.15MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |  |     parquet statistics predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |  |     parquet dictionary predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |  |     tuple-ids=61 row-size=8B cardinality=7.30K cost=196669
-|  |  |  |     in pipelines: 81(GETNEXT)
-|  |  |  |
-|  |  |  80:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
-|  |  |     HDFS partitions=1824/1824 files=1824 size=84.20MB
-|  |  |     stored statistics:
-|  |  |       table: rows=719.38K size=84.20MB
-|  |  |       partitions: 1824/1824 rows=719.38K
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=1.12K
-|  |  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |  |     tuple-ids=60 row-size=12B cardinality=719.38K cost=91208432
-|  |  |     in pipelines: 80(GETNEXT)
-|  |  |
-|  |  |--79:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=06
-|  |  |  |  hash predicates: cs_sold_date_sk = d_date_sk
-|  |  |  |  fk/pk conjuncts: cs_sold_date_sk = d_date_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=58,59 row-size=20B cardinality=1.44M cost=1441548
-|  |  |  |  in pipelines: 77(GETNEXT), 78(OPEN)
-|  |  |  |
-|  |  |  |--F89:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=21.38MB mem-reservation=21.31MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=06 plan-id=07 cohort-id=03
-|  |  |  |  |  build expressions: d_date_sk
-|  |  |  |  |  mem-estimate=21.31MB mem-reservation=21.31MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |  |
-|  |  |  |  181:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=59 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  |  in pipelines: 78(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F48: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=[196755]
-|  |  |  |  78:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |  |     predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=73.05K size=2.15MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |  |     parquet statistics predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |  |     parquet dictionary predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |  |     tuple-ids=59 row-size=8B cardinality=7.30K cost=196669
-|  |  |  |     in pipelines: 78(GETNEXT)
-|  |  |  |
-|  |  |  77:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
-|  |  |     HDFS partitions=1831/1831 files=1831 size=151.13MB
-|  |  |     stored statistics:
-|  |  |       table: rows=1.44M size=151.13MB
-|  |  |       partitions: 1831/1831 rows=1.44M
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=7.18K
-|  |  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |  |     tuple-ids=58 row-size=12B cardinality=1.44M cost=91566896
-|  |  |     in pipelines: 77(GETNEXT)
-|  |  |
-|  |  76:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=05
-|  |  |  hash predicates: ss_sold_date_sk = d_date_sk
-|  |  |  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=56,57 row-size=20B cardinality=2.88M cost=2880404
-|  |  |  in pipelines: 74(GETNEXT), 75(OPEN)
-|  |  |
-|  |  |--F88:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=21.38MB mem-reservation=21.31MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=05 plan-id=06 cohort-id=03
-|  |  |  |  build expressions: d_date_sk
-|  |  |  |  mem-estimate=21.31MB mem-reservation=21.31MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |
-|  |  |  180:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=57 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  in pipelines: 75(GETNEXT)
-|  |  |  |
-|  |  |  F46: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=[196755]
-|  |  |  75:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |     predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     stored statistics:
-|  |  |       table: rows=73.05K size=2.15MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |     parquet statistics predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     parquet dictionary predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=57 row-size=8B cardinality=7.30K cost=196669
-|  |  |     in pipelines: 75(GETNEXT)
-|  |  |
-|  |  74:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|  |     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|  |     stored statistics:
-|  |       table: rows=2.88M size=199.36MB
-|  |       partitions: 1824/1824 rows=2.88M
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=130.09K
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=56 row-size=12B cardinality=2.88M cost=91233752
-|  |     in pipelines: 74(GETNEXT)
-|  |
-|  179:AGGREGATE [FINALIZE]
-|  |  output: sum:merge(cs_quantity * cs_list_price), count:merge(*)
-|  |  group by: i_brand_id, i_class_id, i_category_id
-|  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=54 row-size=36B cardinality=85.03K cost=425145
-|  |  in pipelines: 179(GETNEXT), 43(OPEN)
-|  |
-|  178:EXCHANGE [HASH(i_brand_id,i_class_id,i_category_id)]
-|  |  mem-estimate=1.21MB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=54 row-size=36B cardinality=85.03K cost=3322
-|  |  in pipelines: 43(GETNEXT)
-|  |
-|  F29:PLAN FRAGMENT [HASH(cs_item_sk)] hosts=3 instances=6 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=12.04MB mem-reservation=2.00MB thread-reservation=1
-|  max-parallelism=6 segment-costs=[598525, 3322] cpu-comparison-result=54 [max(12 (self) vs 54 (sum children))]
-|  72:AGGREGATE [STREAMING]
-|  |  output: sum(CAST(cs_quantity AS DECIMAL(10,0)) * cs_list_price), count(*)
-|  |  group by: i_brand_id, i_class_id, i_category_id
-|  |  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=54 row-size=36B cardinality=85.03K cost=425145
-|  |  in pipelines: 43(GETNEXT)
-|  |
-|  71:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
-|  |  hash-table-id=24
-|  |  hash predicates: cs_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=34,36,35 row-size=52B cardinality=85.03K cost=85029
-|  |  in pipelines: 43(GETNEXT), 177(OPEN)
-|  |
-|  |--F107:PLAN FRAGMENT [HASH(cs_item_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=11.94MB mem-reservation=3.88MB thread-reservation=1
-|  |  |  max-parallelism=6 segment-costs=[18186, 17975] cpu-comparison-result=43 [max(6 (self) vs 43 (sum children))]
-|  |  JOIN BUILD
-|  |  |  join-table-id=24 plan-id=25 cohort-id=01
-|  |  |  build expressions: tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  |  runtime filters: RF037[min_max] <- tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=17975
-|  |  |
-|  |  177:AGGREGATE [FINALIZE]
-|  |  |  group by: tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=148 row-size=8B cardinality=17.98K cost=17975
-|  |  |  in pipelines: 177(GETNEXT), 164(OPEN)
-|  |  |
-|  |  176:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item.i_item_sk)]
-|  |  |  mem-estimate=118.81KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=148 row-size=8B cardinality=17.98K cost=211
-|  |  |  in pipelines: 164(GETNEXT)
-|  |  |
-|  |  F33:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=20.76MB mem-reservation=3.94MB thread-reservation=1
-|  |  max-parallelism=6 segment-costs=[448725, 1488000, 211] cpu-comparison-result=43 [max(6 (self) vs 43 (sum children))]
-|  |  70:AGGREGATE [STREAMING]
-|  |  |  group by: tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  |  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=148 row-size=8B cardinality=17.98K cost=148800
-|  |  |  in pipelines: 164(GETNEXT)
-|  |  |
-|  |  67:HASH JOIN [INNER JOIN, PARTITIONED]
-|  |  |  hash-table-id=25
-|  |  |  hash predicates: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
-|  |  |  fk/pk conjuncts: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=41,37 row-size=32B cardinality=148.80K cost=446400
-|  |  |  in pipelines: 164(GETNEXT), 46(OPEN)
-|  |  |
-|  |  |--F108:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  |  Per-Instance Resources: mem-estimate=2.30MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  |  max-parallelism=6 segment-costs=[54422]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=25 plan-id=26 cohort-id=08
-|  |  |  |  build expressions: i_brand_id, i_category_id, i_class_id
-|  |  |  |  runtime filters: RF045[min_max] <- i_brand_id, RF046[min_max] <- i_category_id, RF047[min_max] <- i_class_id
-|  |  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=54000
-|  |  |  |
-|  |  |  175:EXCHANGE [HASH(i_brand_id,i_class_id,i_category_id)]
-|  |  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=37 row-size=20B cardinality=18.00K cost=422
-|  |  |  |  in pipelines: 46(GETNEXT)
-|  |  |  |
-|  |  |  F42:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  Per-Instance Resources: mem-estimate=16.56MB mem-reservation=256.00KB thread-reservation=1
-|  |  |  max-parallelism=1 segment-costs=[50774]
-|  |  |  46:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |  |     stored statistics:
-|  |  |       table: rows=18.00K size=1.73MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |  |     tuple-ids=37 row-size=20B cardinality=18.00K cost=50352
-|  |  |     in pipelines: 46(GETNEXT)
-|  |  |
-|  |  66:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
-|  |  |  hash-table-id=26
-|  |  |  hash predicates: iss.i_brand_id IS NOT DISTINCT FROM iws.i_brand_id, iss.i_category_id IS NOT DISTINCT FROM iws.i_category_id, iss.i_class_id IS NOT DISTINCT FROM iws.i_class_id
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=41 row-size=12B cardinality=148.80K cost=446400
-|  |  |  in pipelines: 164(GETNEXT), 173(OPEN)
-|  |  |
-|  |  |--F109:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  |  Per-Instance Resources: mem-estimate=2.60MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  |  max-parallelism=6 segment-costs=[448725] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=26 plan-id=27 cohort-id=08
-|  |  |  |  build expressions: iws.i_brand_id, iws.i_category_id, iws.i_class_id
-|  |  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=446400
-|  |  |  |
-|  |  |  174:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-|  |  |  |  mem-estimate=677.25KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=147 row-size=12B cardinality=148.80K cost=2325
-|  |  |  |  in pipelines: 173(GETNEXT)
-|  |  |  |
-|  |  |  F41:PLAN FRAGMENT [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=10.76MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  max-parallelism=6 segment-costs=[448725, 2325] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  |  173:AGGREGATE [FINALIZE]
-|  |  |  |  group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
-|  |  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=147 row-size=12B cardinality=148.80K cost=446400
-|  |  |  |  in pipelines: 173(GETNEXT), 58(OPEN)
-|  |  |  |
-|  |  |  172:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-|  |  |  |  mem-estimate=773.25KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=147 row-size=12B cardinality=148.80K cost=2325
-|  |  |  |  in pipelines: 58(GETNEXT)
-|  |  |  |
-|  |  |  F38:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=26.38MB mem-reservation=3.12MB thread-reservation=1
-|  |  |  max-parallelism=12 segment-costs=[94805352, 2325] cpu-comparison-result=12 [max(12 (self) vs 8 (sum children))]
-|  |  |  65:AGGREGATE [STREAMING]
-|  |  |  |  group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
-|  |  |  |  mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-|  |  |  |  tuple-ids=147 row-size=12B cardinality=148.80K cost=2158152
-|  |  |  |  in pipelines: 58(GETNEXT)
-|  |  |  |
-|  |  |  62:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=27
-|  |  |  |  hash predicates: ws_sold_date_sk = d3.d_date_sk
-|  |  |  |  fk/pk conjuncts: ws_sold_date_sk = d3.d_date_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=47,48,49 row-size=40B cardinality=719.38K cost=719384
-|  |  |  |  in pipelines: 58(GETNEXT), 60(OPEN)
-|  |  |  |
-|  |  |  |--F110:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=7.82MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=27 plan-id=28 cohort-id=09
-|  |  |  |  |  build expressions: d3.d_date_sk
-|  |  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |  |
-|  |  |  |  171:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=49 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  |  in pipelines: 60(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F40: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=[196755]
-|  |  |  |  60:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim d3, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |  |     predicates: d3.d_year <= CAST(2001 AS INT), d3.d_year >= CAST(1999 AS INT)
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=73.05K size=2.15MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |  |     parquet statistics predicates: d3.d_year <= CAST(2001 AS INT), d3.d_year >= CAST(1999 AS INT)
-|  |  |  |     parquet dictionary predicates: d3.d_year <= CAST(2001 AS INT), d3.d_year >= CAST(1999 AS INT)
-|  |  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |  |     tuple-ids=49 row-size=8B cardinality=7.30K cost=196669
-|  |  |  |     in pipelines: 60(GETNEXT)
-|  |  |  |
-|  |  |  61:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=28
-|  |  |  |  hash predicates: ws_item_sk = iws.i_item_sk
-|  |  |  |  fk/pk conjuncts: ws_item_sk = iws.i_item_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=47,48 row-size=32B cardinality=719.38K cost=719384
-|  |  |  |  in pipelines: 58(GETNEXT), 59(OPEN)
-|  |  |  |
-|  |  |  |--F111:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=8.12MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[19266]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=28 plan-id=29 cohort-id=09
-|  |  |  |  |  build expressions: iws.i_item_sk
-|  |  |  |  |  runtime filters: RF065[min_max] <- iws.i_item_sk
-|  |  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |  |  |
-|  |  |  |  170:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=48 row-size=20B cardinality=18.00K cost=1266
-|  |  |  |  |  in pipelines: 59(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F39:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  |  Per-Instance Resources: mem-estimate=16.09MB mem-reservation=256.00KB thread-reservation=1
-|  |  |  |  max-parallelism=1 segment-costs=[50774]
-|  |  |  |  59:SCAN HDFS [tpcds_partitioned_parquet_snap.item iws, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=18.00K size=1.73MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |  |  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |  |  |     tuple-ids=48 row-size=20B cardinality=18.00K cost=50352
-|  |  |  |     in pipelines: 59(GETNEXT)
-|  |  |  |
-|  |  |  58:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
-|  |  |     HDFS partitions=1824/1824 files=1824 size=84.20MB
-|  |  |     runtime filters: RF065[min_max] -> ws_item_sk
-|  |  |     stored statistics:
-|  |  |       table: rows=719.38K size=84.20MB
-|  |  |       partitions: 1824/1824 rows=719.38K
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=1.12K
-|  |  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |  |     tuple-ids=47 row-size=12B cardinality=719.38K cost=91208432
-|  |  |     in pipelines: 58(GETNEXT)
-|  |  |
-|  |  64:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
-|  |  |  hash-table-id=29
-|  |  |  hash predicates: iss.i_brand_id IS NOT DISTINCT FROM ics.i_brand_id, iss.i_category_id IS NOT DISTINCT FROM ics.i_category_id, iss.i_class_id IS NOT DISTINCT FROM ics.i_class_id
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=41 row-size=12B cardinality=148.80K cost=446400
-|  |  |  in pipelines: 164(GETNEXT), 168(OPEN)
-|  |  |
-|  |  |--F112:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  |  Per-Instance Resources: mem-estimate=2.60MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  |  max-parallelism=6 segment-costs=[448725] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=29 plan-id=30 cohort-id=08
-|  |  |  |  build expressions: ics.i_brand_id, ics.i_category_id, ics.i_class_id
-|  |  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=446400
-|  |  |  |
-|  |  |  169:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-|  |  |  |  mem-estimate=677.25KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=146 row-size=12B cardinality=148.80K cost=2325
-|  |  |  |  in pipelines: 168(GETNEXT)
-|  |  |  |
-|  |  |  F37:PLAN FRAGMENT [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=10.76MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  max-parallelism=6 segment-costs=[448725, 2325] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  |  168:AGGREGATE [FINALIZE]
-|  |  |  |  group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
-|  |  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=146 row-size=12B cardinality=148.80K cost=446400
-|  |  |  |  in pipelines: 168(GETNEXT), 53(OPEN)
-|  |  |  |
-|  |  |  167:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-|  |  |  |  mem-estimate=773.25KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=146 row-size=12B cardinality=148.80K cost=2325
-|  |  |  |  in pipelines: 53(GETNEXT)
-|  |  |  |
-|  |  |  F34:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=26.38MB mem-reservation=5.12MB thread-reservation=1
-|  |  |  max-parallelism=12 segment-costs=[98774636, 2325] cpu-comparison-result=12 [max(12 (self) vs 8 (sum children))]
-|  |  |  63:AGGREGATE [STREAMING]
-|  |  |  |  group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
-|  |  |  |  mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-|  |  |  |  tuple-ids=146 row-size=12B cardinality=148.80K cost=4324644
-|  |  |  |  in pipelines: 53(GETNEXT)
-|  |  |  |
-|  |  |  57:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=30
-|  |  |  |  hash predicates: cs_sold_date_sk = d2.d_date_sk
-|  |  |  |  fk/pk conjuncts: cs_sold_date_sk = d2.d_date_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=43,44,45 row-size=40B cardinality=1.44M cost=1441548
-|  |  |  |  in pipelines: 53(GETNEXT), 55(OPEN)
-|  |  |  |
-|  |  |  |--F113:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=7.82MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=30 plan-id=31 cohort-id=10
-|  |  |  |  |  build expressions: d2.d_date_sk
-|  |  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |  |
-|  |  |  |  166:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=45 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  |  in pipelines: 55(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F36: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=[196755]
-|  |  |  |  55:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim d2, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |  |     predicates: d2.d_year <= CAST(2001 AS INT), d2.d_year >= CAST(1999 AS INT)
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=73.05K size=2.15MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |  |     parquet statistics predicates: d2.d_year <= CAST(2001 AS INT), d2.d_year >= CAST(1999 AS INT)
-|  |  |  |     parquet dictionary predicates: d2.d_year <= CAST(2001 AS INT), d2.d_year >= CAST(1999 AS INT)
-|  |  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |  |     tuple-ids=45 row-size=8B cardinality=7.30K cost=196669
-|  |  |  |     in pipelines: 55(GETNEXT)
-|  |  |  |
-|  |  |  56:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=31
-|  |  |  |  hash predicates: cs_item_sk = ics.i_item_sk
-|  |  |  |  fk/pk conjuncts: cs_item_sk = ics.i_item_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=43,44 row-size=32B cardinality=1.44M cost=1441548
-|  |  |  |  in pipelines: 53(GETNEXT), 54(OPEN)
-|  |  |  |
-|  |  |  |--F114:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=8.12MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[19266]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=31 plan-id=32 cohort-id=10
-|  |  |  |  |  build expressions: ics.i_item_sk
-|  |  |  |  |  runtime filters: RF061[min_max] <- ics.i_item_sk
-|  |  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |  |  |
-|  |  |  |  165:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=44 row-size=20B cardinality=18.00K cost=1266
-|  |  |  |  |  in pipelines: 54(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F35:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  |  Per-Instance Resources: mem-estimate=16.09MB mem-reservation=256.00KB thread-reservation=1
-|  |  |  |  max-parallelism=1 segment-costs=[50774]
-|  |  |  |  54:SCAN HDFS [tpcds_partitioned_parquet_snap.item ics, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=18.00K size=1.73MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |  |  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |  |  |     tuple-ids=44 row-size=20B cardinality=18.00K cost=50352
-|  |  |  |     in pipelines: 54(GETNEXT)
-|  |  |  |
-|  |  |  53:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
-|  |  |     HDFS partitions=1831/1831 files=1831 size=151.13MB
-|  |  |     runtime filters: RF061[min_max] -> cs_item_sk
-|  |  |     stored statistics:
-|  |  |       table: rows=1.44M size=151.13MB
-|  |  |       partitions: 1831/1831 rows=1.44M
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=7.18K
-|  |  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |  |     tuple-ids=43 row-size=12B cardinality=1.44M cost=91566896
-|  |  |     in pipelines: 53(GETNEXT)
-|  |  |
-|  |  164:AGGREGATE [FINALIZE]
-|  |  |  group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
-|  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=41 row-size=12B cardinality=148.80K cost=446400
-|  |  |  in pipelines: 164(GETNEXT), 47(OPEN)
-|  |  |
-|  |  163:EXCHANGE [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)]
-|  |  |  mem-estimate=773.25KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=41 row-size=12B cardinality=148.80K cost=2325
-|  |  |  in pipelines: 47(GETNEXT)
-|  |  |
-|  |  F30:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=26.38MB mem-reservation=5.50MB thread-reservation=1
-|  |  max-parallelism=12 segment-costs=[105635772, 2325] cpu-comparison-result=12 [max(12 (self) vs 8 (sum children))]
-|  |  52:AGGREGATE [STREAMING]
-|  |  |  group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
-|  |  |  mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-|  |  |  tuple-ids=41 row-size=12B cardinality=148.80K cost=8641212
-|  |  |  in pipelines: 47(GETNEXT)
-|  |  |
-|  |  51:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=32
-|  |  |  hash predicates: ss_sold_date_sk = d1.d_date_sk
-|  |  |  fk/pk conjuncts: ss_sold_date_sk = d1.d_date_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=38,39,40 row-size=40B cardinality=2.88M cost=2880404
-|  |  |  in pipelines: 47(GETNEXT), 49(OPEN)
-|  |  |
-|  |  |--F115:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=7.82MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=32 plan-id=33 cohort-id=08
-|  |  |  |  build expressions: d1.d_date_sk
-|  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |
-|  |  |  162:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=40 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  in pipelines: 49(GETNEXT)
-|  |  |  |
-|  |  |  F32: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=[196755]
-|  |  |  49:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim d1, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |     predicates: d1.d_year <= CAST(2001 AS INT), d1.d_year >= CAST(1999 AS INT)
-|  |  |     stored statistics:
-|  |  |       table: rows=73.05K size=2.15MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |     parquet statistics predicates: d1.d_year <= CAST(2001 AS INT), d1.d_year >= CAST(1999 AS INT)
-|  |  |     parquet dictionary predicates: d1.d_year <= CAST(2001 AS INT), d1.d_year >= CAST(1999 AS INT)
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=40 row-size=8B cardinality=7.30K cost=196669
-|  |  |     in pipelines: 49(GETNEXT)
-|  |  |
-|  |  50:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=33
-|  |  |  hash predicates: ss_item_sk = iss.i_item_sk
-|  |  |  fk/pk conjuncts: ss_item_sk = iss.i_item_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=38,39 row-size=32B cardinality=2.88M cost=2880404
-|  |  |  in pipelines: 47(GETNEXT), 48(OPEN)
-|  |  |
-|  |  |--F116:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=8.12MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[19266]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=33 plan-id=34 cohort-id=08
-|  |  |  |  build expressions: iss.i_item_sk
-|  |  |  |  runtime filters: RF057[min_max] <- iss.i_item_sk
-|  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |  |
-|  |  |  161:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=39 row-size=20B cardinality=18.00K cost=1266
-|  |  |  |  in pipelines: 48(GETNEXT)
-|  |  |  |
-|  |  |  F31:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  Per-Instance Resources: mem-estimate=16.09MB mem-reservation=256.00KB thread-reservation=1
-|  |  |  max-parallelism=1 segment-costs=[50774]
-|  |  |  48:SCAN HDFS [tpcds_partitioned_parquet_snap.item iss, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |  |     runtime filters: RF045[min_max] -> iss.i_brand_id, RF046[min_max] -> iss.i_category_id, RF047[min_max] -> iss.i_class_id
-|  |  |     stored statistics:
-|  |  |       table: rows=18.00K size=1.73MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |  |     tuple-ids=39 row-size=20B cardinality=18.00K cost=50352
-|  |  |     in pipelines: 48(GETNEXT)
-|  |  |
-|  |  47:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|  |     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|  |     runtime filters: RF057[min_max] -> ss_item_sk
-|  |     stored statistics:
-|  |       table: rows=2.88M size=199.36MB
-|  |       partitions: 1824/1824 rows=2.88M
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=130.09K
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=38 row-size=12B cardinality=2.88M cost=91233752
-|  |     in pipelines: 47(GETNEXT)
-|  |
-|  69:HASH JOIN [INNER JOIN, PARTITIONED]
-|  |  hash-table-id=34
-|  |  hash predicates: cs_item_sk = i_item_sk
-|  |  fk/pk conjuncts: cs_item_sk = i_item_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=34,36,35 row-size=52B cardinality=85.03K cost=85029
-|  |  in pipelines: 43(GETNEXT), 44(OPEN)
-|  |
-|  |--F117:PLAN FRAGMENT [HASH(cs_item_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=2.30MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  max-parallelism=6 segment-costs=[18422]
-|  |  JOIN BUILD
-|  |  |  join-table-id=34 plan-id=35 cohort-id=01
-|  |  |  build expressions: i_item_sk
-|  |  |  runtime filters: RF039[min_max] <- i_item_sk
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |
-|  |  160:EXCHANGE [HASH(i_item_sk)]
-|  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=35 row-size=20B cardinality=18.00K cost=422
-|  |  |  in pipelines: 44(GETNEXT)
-|  |  |
-|  |  F28:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.56MB mem-reservation=256.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[50774]
-|  |  44:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |     runtime filters: RF037[min_max] -> tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |     stored statistics:
-|  |       table: rows=18.00K size=1.73MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |     tuple-ids=35 row-size=20B cardinality=18.00K cost=50352
-|  |     in pipelines: 44(GETNEXT)
-|  |
-|  159:EXCHANGE [HASH(cs_item_sk)]
-|  |  mem-estimate=1.10MB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=34,36 row-size=32B cardinality=85.03K cost=3322
-|  |  in pipelines: 43(GETNEXT)
-|  |
-|  F26:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
-|  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=16.94MB mem-reservation=128.00KB thread-reservation=1
-|  max-parallelism=6 segment-costs=[5540012]
-|  68:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=35
-|  |  hash predicates: cs_sold_date_sk = d_date_sk
-|  |  fk/pk conjuncts: cs_sold_date_sk = d_date_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=34,36 row-size=32B cardinality=85.03K cost=85029
-|  |  in pipelines: 43(GETNEXT), 45(OPEN)
-|  |
-|  |--F118:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=4.89MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=3 segment-costs=[114]
-|  |  JOIN BUILD
-|  |  |  join-table-id=35 plan-id=36 cohort-id=01
-|  |  |  build expressions: d_date_sk
-|  |  |  runtime filters: RF040[bloom] <- d_date_sk
-|  |  |  mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0 cost=108
-|  |  |
-|  |  158:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=36 row-size=12B cardinality=108 cost=6
-|  |  |  in pipelines: 45(GETNEXT)
-|  |  |
-|  |  F27: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=[196957]
-|  |  45:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |     predicates: d_year = CAST(2001 AS INT), d_moy = CAST(11 AS INT)
-|  |     stored statistics:
-|  |       table: rows=73.05K size=2.15MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |     parquet statistics predicates: d_year = CAST(2001 AS INT), d_moy = CAST(11 AS INT)
-|  |     parquet dictionary predicates: d_year = CAST(2001 AS INT), d_moy = CAST(11 AS INT)
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=36 row-size=12B cardinality=108 cost=196955
-|  |     in pipelines: 45(GETNEXT)
-|  |
-|  43:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
-|     HDFS partitions=1831/1831 files=1831 size=151.13MB
-|     runtime filters: RF037[min_max] -> cs_item_sk, RF039[min_max] -> cs_item_sk, RF040[bloom] -> cs_sold_date_sk
-|     stored statistics:
-|       table: rows=1.44M size=151.13MB
-|       partitions: 1831/1831 rows=1.44M
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=7.18K est-scan-range=109(filtered from 1831)
-|     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|     tuple-ids=34 row-size=20B cardinality=85.03K(filtered from 1.44M) cost=5451661
-|     in pipelines: 43(GETNEXT)
-|
-42:NESTED LOOP JOIN [INNER JOIN, BROADCAST]
-|  join table id: 00
-|  predicates: sum(ss_quantity * ss_list_price) > avg(quantity * list_price)
-|  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  tuple-ids=20,31 row-size=52B cardinality=148.80K cost=0
-|  in pipelines: 151(GETNEXT), 156(OPEN)
-|
-|--F83:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=16.02KB mem-reservation=0B thread-reservation=1
-|  |  max-parallelism=3 segment-costs=[3] cpu-comparison-result=33 [max(3 (self) vs 33 (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
-|  |
-|  157:EXCHANGE [BROADCAST]
-|  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=31 row-size=16B cardinality=1 cost=3
-|  |  in pipelines: 156(GETNEXT)
-|  |
-|  F25:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Instance Resources: mem-estimate=96.00KB mem-reservation=0B thread-reservation=1
-|  max-parallelism=2 segment-costs=[2, 1] cpu-comparison-result=33 [max(2 (self) vs 33 (sum children))]
-|  156:AGGREGATE [FINALIZE]
-|  |  output: avg:merge(quantity * list_price)
-|  |  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  |  tuple-ids=31 row-size=16B cardinality=1 cost=1
-|  |  in pipelines: 156(GETNEXT), 41(OPEN)
-|  |
-|  155:EXCHANGE [UNPARTITIONED]
-|  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=30 row-size=16B cardinality=1 cost=1
-|  |  in pipelines: 41(GETNEXT)
-|  |
-|  F24:PLAN FRAGMENT [RANDOM] hosts=3 instances=33 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=16.02MB mem-reservation=512.00KB thread-reservation=1
-|  max-parallelism=33 segment-costs=[314339768, 1] cpu-comparison-result=33 [max(33 (self) vs 12 (sum children))]
-|  41:AGGREGATE
-|  |  output: avg(CAST(quantity AS DECIMAL(10,0)) * list_price)
-|  |  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  |  tuple-ids=30 row-size=16B cardinality=1 cost=5041336
-|  |  in pipelines: 41(GETNEXT), 32(OPEN), 35(OPEN), 38(OPEN)
-|  |
-|  31:UNION
-|  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=28 row-size=8B cardinality=5.04M cost=30248016
-|  |  in pipelines: 32(GETNEXT), 35(GETNEXT), 38(GETNEXT)
-|  |
-|  |--40:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=03
-|  |  |  hash predicates: ws_sold_date_sk = d_date_sk
-|  |  |  fk/pk conjuncts: ws_sold_date_sk = d_date_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=26,27 row-size=20B cardinality=719.38K cost=719384
-|  |  |  in pipelines: 38(GETNEXT), 39(OPEN)
-|  |  |
-|  |  |--F86:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=21.38MB mem-reservation=21.31MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=03 plan-id=04 cohort-id=02
-|  |  |  |  build expressions: d_date_sk
-|  |  |  |  mem-estimate=21.31MB mem-reservation=21.31MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |
-|  |  |  154:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=27 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  in pipelines: 39(GETNEXT)
-|  |  |  |
-|  |  |  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=[196755]
-|  |  |  39:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |     predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     stored statistics:
-|  |  |       table: rows=73.05K size=2.15MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |     parquet statistics predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     parquet dictionary predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=27 row-size=8B cardinality=7.30K cost=196669
-|  |  |     in pipelines: 39(GETNEXT)
-|  |  |
-|  |  38:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
-|  |     HDFS partitions=1824/1824 files=1824 size=84.20MB
-|  |     stored statistics:
-|  |       table: rows=719.38K size=84.20MB
-|  |       partitions: 1824/1824 rows=719.38K
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=1.12K
-|  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |     tuple-ids=26 row-size=12B cardinality=719.38K cost=91208432
-|  |     in pipelines: 38(GETNEXT)
-|  |
-|  |--37:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=02
-|  |  |  hash predicates: cs_sold_date_sk = d_date_sk
-|  |  |  fk/pk conjuncts: cs_sold_date_sk = d_date_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=24,25 row-size=20B cardinality=1.44M cost=1441548
-|  |  |  in pipelines: 35(GETNEXT), 36(OPEN)
-|  |  |
-|  |  |--F85:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=21.38MB mem-reservation=21.31MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=02 plan-id=03 cohort-id=02
-|  |  |  |  build expressions: d_date_sk
-|  |  |  |  mem-estimate=21.31MB mem-reservation=21.31MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |
-|  |  |  153:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=25 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  in pipelines: 36(GETNEXT)
-|  |  |  |
-|  |  |  F21: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=[196755]
-|  |  |  36:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |     predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     stored statistics:
-|  |  |       table: rows=73.05K size=2.15MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |     parquet statistics predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     parquet dictionary predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=25 row-size=8B cardinality=7.30K cost=196669
-|  |  |     in pipelines: 36(GETNEXT)
-|  |  |
-|  |  35:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
-|  |     HDFS partitions=1831/1831 files=1831 size=151.13MB
-|  |     stored statistics:
-|  |       table: rows=1.44M size=151.13MB
-|  |       partitions: 1831/1831 rows=1.44M
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=7.18K
-|  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |     tuple-ids=24 row-size=12B cardinality=1.44M cost=91566896
-|  |     in pipelines: 35(GETNEXT)
-|  |
-|  34:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=01
-|  |  hash predicates: ss_sold_date_sk = d_date_sk
-|  |  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=22,23 row-size=20B cardinality=2.88M cost=2880404
-|  |  in pipelines: 32(GETNEXT), 33(OPEN)
-|  |
-|  |--F84:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=21.38MB mem-reservation=21.31MB thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  JOIN BUILD
-|  |  |  join-table-id=01 plan-id=02 cohort-id=02
-|  |  |  build expressions: d_date_sk
-|  |  |  mem-estimate=21.31MB mem-reservation=21.31MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |
-|  |  152:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=23 row-size=8B cardinality=7.30K cost=258
-|  |  |  in pipelines: 33(GETNEXT)
-|  |  |
-|  |  F19: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=[196755]
-|  |  33:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |     predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |     stored statistics:
-|  |       table: rows=73.05K size=2.15MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |     parquet statistics predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |     parquet dictionary predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=23 row-size=8B cardinality=7.30K cost=196669
-|  |     in pipelines: 33(GETNEXT)
-|  |
-|  32:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|     stored statistics:
-|       table: rows=2.88M size=199.36MB
-|       partitions: 1824/1824 rows=2.88M
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=130.09K
-|     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|     tuple-ids=22 row-size=12B cardinality=2.88M cost=91233752
-|     in pipelines: 32(GETNEXT)
-|
-151:AGGREGATE [FINALIZE]
-|  output: sum:merge(ss_quantity * ss_list_price), count:merge(*)
-|  group by: i_brand_id, i_class_id, i_category_id
-|  mem-estimate=10.00MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
-|  tuple-ids=20 row-size=36B cardinality=148.80K cost=744000
-|  in pipelines: 151(GETNEXT), 01(OPEN)
-|
-150:EXCHANGE [HASH(i_brand_id,i_class_id,i_category_id)]
-|  mem-estimate=1.94MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=20 row-size=36B cardinality=148.80K cost=5813
-|  in pipelines: 01(GETNEXT)
-|
-F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
-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=26.94MB mem-reservation=3.00MB thread-reservation=1
-max-parallelism=6 segment-costs=[6817739, 5813] cpu-comparison-result=51 [max(6 (self) vs 51 (sum children))]
-30:AGGREGATE [STREAMING]
-|  output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_list_price), count(*)
-|  group by: i_brand_id, i_class_id, i_category_id
-|  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=20 row-size=36B cardinality=148.80K cost=852755
-|  in pipelines: 01(GETNEXT)
-|
-29:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
-|  hash-table-id=12
-|  hash predicates: ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=0,2,1 row-size=52B cardinality=170.55K cost=170551
-|  in pipelines: 01(GETNEXT), 148(OPEN)
-|
-|--F95:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=5.08MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=3 segment-costs=[18608] cpu-comparison-result=43 [max(3 (self) vs 43 (sum children))]
-|  JOIN BUILD
-|  |  join-table-id=12 plan-id=13 cohort-id=01
-|  |  build expressions: tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  runtime filters: RF000[bloom] <- tpcds_partitioned_parquet_snap.item.i_item_sk, RF001[min_max] <- tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0 cost=17975
-|  |
-|  149:EXCHANGE [BROADCAST]
-|  |  mem-estimate=212.43KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=126 row-size=8B cardinality=17.98K cost=633
-|  |  in pipelines: 148(GETNEXT)
-|  |
-|  F16:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.item.i_item_sk)] hosts=3 instances=6 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=10.12MB mem-reservation=1.94MB thread-reservation=1
-|  max-parallelism=6 segment-costs=[18186, 211] cpu-comparison-result=43 [max(6 (self) vs 43 (sum children))]
-|  148:AGGREGATE [FINALIZE]
-|  |  group by: tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=126 row-size=8B cardinality=17.98K cost=17975
-|  |  in pipelines: 148(GETNEXT), 135(OPEN)
-|  |
-|  147:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item.i_item_sk)]
-|  |  mem-estimate=118.81KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=126 row-size=8B cardinality=17.98K cost=211
-|  |  in pipelines: 135(GETNEXT)
-|  |
-|  F06:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=20.76MB mem-reservation=3.94MB thread-reservation=1
-|  max-parallelism=6 segment-costs=[448725, 1488000, 211] cpu-comparison-result=43 [max(6 (self) vs 43 (sum children))]
-|  28:AGGREGATE [STREAMING]
-|  |  group by: tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=126 row-size=8B cardinality=17.98K cost=148800
-|  |  in pipelines: 135(GETNEXT)
-|  |
-|  25:HASH JOIN [INNER JOIN, PARTITIONED]
-|  |  hash-table-id=13
-|  |  hash predicates: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
-|  |  fk/pk conjuncts: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=7,3 row-size=32B cardinality=148.80K cost=446400
-|  |  in pipelines: 135(GETNEXT), 04(OPEN)
-|  |
-|  |--F96:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=5.30MB mem-reservation=4.94MB thread-reservation=1 runtime-filters-memory=3.00MB
-|  |  |  max-parallelism=6 segment-costs=[54422]
-|  |  JOIN BUILD
-|  |  |  join-table-id=13 plan-id=14 cohort-id=05
-|  |  |  build expressions: i_brand_id, i_category_id, i_class_id
-|  |  |  runtime filters: RF006[bloom] <- i_brand_id, RF007[bloom] <- i_category_id, RF008[bloom] <- i_class_id, RF009[min_max] <- i_brand_id, RF010[min_max] <- i_category_id, RF011[min_max] <- i_class_id
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=54000
-|  |  |
-|  |  146:EXCHANGE [HASH(i_brand_id,i_class_id,i_category_id)]
-|  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=3 row-size=20B cardinality=18.00K cost=422
-|  |  |  in pipelines: 04(GETNEXT)
-|  |  |
-|  |  F15:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.56MB mem-reservation=256.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[50774]
-|  |  04:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |     stored statistics:
-|  |       table: rows=18.00K size=1.73MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |     tuple-ids=3 row-size=20B cardinality=18.00K cost=50352
-|  |     in pipelines: 04(GETNEXT)
-|  |
-|  24:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
-|  |  hash-table-id=14
-|  |  hash predicates: iss.i_brand_id IS NOT DISTINCT FROM iws.i_brand_id, iss.i_category_id IS NOT DISTINCT FROM iws.i_category_id, iss.i_class_id IS NOT DISTINCT FROM iws.i_class_id
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=7 row-size=12B cardinality=148.80K cost=446400
-|  |  in pipelines: 135(GETNEXT), 144(OPEN)
-|  |
-|  |--F97:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=4.60MB mem-reservation=3.94MB thread-reservation=1 runtime-filters-memory=2.00MB
-|  |  |  max-parallelism=6 segment-costs=[448725] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  JOIN BUILD
-|  |  |  join-table-id=14 plan-id=15 cohort-id=05
-|  |  |  build expressions: iws.i_brand_id, iws.i_category_id, iws.i_class_id
-|  |  |  runtime filters: RF012[bloom] <- iws.i_brand_id, RF013[bloom] <- iws.i_category_id
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=446400
-|  |  |
-|  |  145:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-|  |  |  mem-estimate=677.25KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=125 row-size=12B cardinality=148.80K cost=2325
-|  |  |  in pipelines: 144(GETNEXT)
-|  |  |
-|  |  F14:PLAN FRAGMENT [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=10.76MB mem-reservation=1.94MB thread-reservation=1
-|  |  max-parallelism=6 segment-costs=[448725, 2325] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  144:AGGREGATE [FINALIZE]
-|  |  |  group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
-|  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=125 row-size=12B cardinality=148.80K cost=446400
-|  |  |  in pipelines: 144(GETNEXT), 16(OPEN)
-|  |  |
-|  |  143:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-|  |  |  mem-estimate=773.25KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=125 row-size=12B cardinality=148.80K cost=2325
-|  |  |  in pipelines: 16(GETNEXT)
-|  |  |
-|  |  F11:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=26.38MB mem-reservation=3.12MB thread-reservation=1
-|  |  max-parallelism=12 segment-costs=[94805352, 2325] cpu-comparison-result=12 [max(12 (self) vs 8 (sum children))]
-|  |  23:AGGREGATE [STREAMING]
-|  |  |  group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
-|  |  |  mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-|  |  |  tuple-ids=125 row-size=12B cardinality=148.80K cost=2158152
-|  |  |  in pipelines: 16(GETNEXT)
-|  |  |
-|  |  20:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=15
-|  |  |  hash predicates: ws_sold_date_sk = d3.d_date_sk
-|  |  |  fk/pk conjuncts: ws_sold_date_sk = d3.d_date_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=13,14,15 row-size=40B cardinality=719.38K cost=719384
-|  |  |  in pipelines: 16(GETNEXT), 18(OPEN)
-|  |  |
-|  |  |--F98:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=7.82MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=15 plan-id=16 cohort-id=06
-|  |  |  |  build expressions: d3.d_date_sk
-|  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |
-|  |  |  142:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=15 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  in pipelines: 18(GETNEXT)
-|  |  |  |
-|  |  |  F13: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=[196755]
-|  |  |  18:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim d3, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |     predicates: d3.d_year <= CAST(2001 AS INT), d3.d_year >= CAST(1999 AS INT)
-|  |  |     stored statistics:
-|  |  |       table: rows=73.05K size=2.15MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |     parquet statistics predicates: d3.d_year <= CAST(2001 AS INT), d3.d_year >= CAST(1999 AS INT)
-|  |  |     parquet dictionary predicates: d3.d_year <= CAST(2001 AS INT), d3.d_year >= CAST(1999 AS INT)
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=15 row-size=8B cardinality=7.30K cost=196669
-|  |  |     in pipelines: 18(GETNEXT)
-|  |  |
-|  |  19:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=16
-|  |  |  hash predicates: ws_item_sk = iws.i_item_sk
-|  |  |  fk/pk conjuncts: ws_item_sk = iws.i_item_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=13,14 row-size=32B cardinality=719.38K cost=719384
-|  |  |  in pipelines: 16(GETNEXT), 17(OPEN)
-|  |  |
-|  |  |--F99:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=8.12MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[19266]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=16 plan-id=17 cohort-id=06
-|  |  |  |  build expressions: iws.i_item_sk
-|  |  |  |  runtime filters: RF029[min_max] <- iws.i_item_sk
-|  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |  |
-|  |  |  141:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=14 row-size=20B cardinality=18.00K cost=1266
-|  |  |  |  in pipelines: 17(GETNEXT)
-|  |  |  |
-|  |  |  F12:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  Per-Instance Resources: mem-estimate=16.09MB mem-reservation=256.00KB thread-reservation=1
-|  |  |  max-parallelism=1 segment-costs=[50774]
-|  |  |  17:SCAN HDFS [tpcds_partitioned_parquet_snap.item iws, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |  |     stored statistics:
-|  |  |       table: rows=18.00K size=1.73MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |  |     tuple-ids=14 row-size=20B cardinality=18.00K cost=50352
-|  |  |     in pipelines: 17(GETNEXT)
-|  |  |
-|  |  16:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
-|  |     HDFS partitions=1824/1824 files=1824 size=84.20MB
-|  |     runtime filters: RF029[min_max] -> ws_item_sk
-|  |     stored statistics:
-|  |       table: rows=719.38K size=84.20MB
-|  |       partitions: 1824/1824 rows=719.38K
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=1.12K
-|  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |     tuple-ids=13 row-size=12B cardinality=719.38K cost=91208432
-|  |     in pipelines: 16(GETNEXT)
-|  |
-|  22:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
-|  |  hash-table-id=17
-|  |  hash predicates: iss.i_brand_id IS NOT DISTINCT FROM ics.i_brand_id, iss.i_category_id IS NOT DISTINCT FROM ics.i_category_id, iss.i_class_id IS NOT DISTINCT FROM ics.i_class_id
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=7 row-size=12B cardinality=148.80K cost=446400
-|  |  in pipelines: 135(GETNEXT), 139(OPEN)
-|  |
-|  |--F100:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=2.60MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  max-parallelism=6 segment-costs=[448725] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  JOIN BUILD
-|  |  |  join-table-id=17 plan-id=18 cohort-id=05
-|  |  |  build expressions: ics.i_brand_id, ics.i_category_id, ics.i_class_id
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=446400
-|  |  |
-|  |  140:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-|  |  |  mem-estimate=677.25KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=124 row-size=12B cardinality=148.80K cost=2325
-|  |  |  in pipelines: 139(GETNEXT)
-|  |  |
-|  |  F10:PLAN FRAGMENT [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=10.76MB mem-reservation=1.94MB thread-reservation=1
-|  |  max-parallelism=6 segment-costs=[448725, 2325] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  139:AGGREGATE [FINALIZE]
-|  |  |  group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
-|  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=124 row-size=12B cardinality=148.80K cost=446400
-|  |  |  in pipelines: 139(GETNEXT), 11(OPEN)
-|  |  |
-|  |  138:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-|  |  |  mem-estimate=773.25KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=124 row-size=12B cardinality=148.80K cost=2325
-|  |  |  in pipelines: 11(GETNEXT)
-|  |  |
-|  |  F07:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=26.38MB mem-reservation=5.12MB thread-reservation=1
-|  |  max-parallelism=12 segment-costs=[98774636, 2325] cpu-comparison-result=12 [max(12 (self) vs 8 (sum children))]
-|  |  21:AGGREGATE [STREAMING]
-|  |  |  group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
-|  |  |  mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-|  |  |  tuple-ids=124 row-size=12B cardinality=148.80K cost=4324644
-|  |  |  in pipelines: 11(GETNEXT)
-|  |  |
-|  |  15:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=18
-|  |  |  hash predicates: cs_sold_date_sk = d2.d_date_sk
-|  |  |  fk/pk conjuncts: cs_sold_date_sk = d2.d_date_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=9,10,11 row-size=40B cardinality=1.44M cost=1441548
-|  |  |  in pipelines: 11(GETNEXT), 13(OPEN)
-|  |  |
-|  |  |--F101:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=7.82MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=18 plan-id=19 cohort-id=07
-|  |  |  |  build expressions: d2.d_date_sk
-|  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |
-|  |  |  137:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=11 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  in pipelines: 13(GETNEXT)
-|  |  |  |
-|  |  |  F09: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=[196755]
-|  |  |  13:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim d2, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |     predicates: d2.d_year <= CAST(2001 AS INT), d2.d_year >= CAST(1999 AS INT)
-|  |  |     stored statistics:
-|  |  |       table: rows=73.05K size=2.15MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |     parquet statistics predicates: d2.d_year <= CAST(2001 AS INT), d2.d_year >= CAST(1999 AS INT)
-|  |  |     parquet dictionary predicates: d2.d_year <= CAST(2001 AS INT), d2.d_year >= CAST(1999 AS INT)
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=11 row-size=8B cardinality=7.30K cost=196669
-|  |  |     in pipelines: 13(GETNEXT)
-|  |  |
-|  |  14:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=19
-|  |  |  hash predicates: cs_item_sk = ics.i_item_sk
-|  |  |  fk/pk conjuncts: cs_item_sk = ics.i_item_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=9,10 row-size=32B cardinality=1.44M cost=1441548
-|  |  |  in pipelines: 11(GETNEXT), 12(OPEN)
-|  |  |
-|  |  |--F102:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=8.12MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[19266]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=19 plan-id=20 cohort-id=07
-|  |  |  |  build expressions: ics.i_item_sk
-|  |  |  |  runtime filters: RF025[min_max] <- ics.i_item_sk
-|  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |  |
-|  |  |  136:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=10 row-size=20B cardinality=18.00K cost=1266
-|  |  |  |  in pipelines: 12(GETNEXT)
-|  |  |  |
-|  |  |  F08:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  Per-Instance Resources: mem-estimate=16.09MB mem-reservation=256.00KB thread-reservation=1
-|  |  |  max-parallelism=1 segment-costs=[50774]
-|  |  |  12:SCAN HDFS [tpcds_partitioned_parquet_snap.item ics, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |  |     stored statistics:
-|  |  |       table: rows=18.00K size=1.73MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |  |     tuple-ids=10 row-size=20B cardinality=18.00K cost=50352
-|  |  |     in pipelines: 12(GETNEXT)
-|  |  |
-|  |  11:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
-|  |     HDFS partitions=1831/1831 files=1831 size=151.13MB
-|  |     runtime filters: RF025[min_max] -> cs_item_sk
-|  |     stored statistics:
-|  |       table: rows=1.44M size=151.13MB
-|  |       partitions: 1831/1831 rows=1.44M
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=7.18K
-|  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |     tuple-ids=9 row-size=12B cardinality=1.44M cost=91566896
-|  |     in pipelines: 11(GETNEXT)
-|  |
-|  135:AGGREGATE [FINALIZE]
-|  |  group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
-|  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=7 row-size=12B cardinality=148.80K cost=446400
-|  |  in pipelines: 135(GETNEXT), 05(OPEN)
-|  |
-|  134:EXCHANGE [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)]
-|  |  mem-estimate=773.25KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=7 row-size=12B cardinality=148.80K cost=2325
-|  |  in pipelines: 05(GETNEXT)
-|  |
-|  F03:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=26.38MB mem-reservation=5.50MB thread-reservation=1
-|  max-parallelism=12 segment-costs=[105635772, 2325] cpu-comparison-result=12 [max(12 (self) vs 8 (sum children))]
-|  10:AGGREGATE [STREAMING]
-|  |  group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
-|  |  mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-|  |  tuple-ids=7 row-size=12B cardinality=148.80K cost=8641212
-|  |  in pipelines: 05(GETNEXT)
-|  |
-|  09:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=20
-|  |  hash predicates: ss_sold_date_sk = d1.d_date_sk
-|  |  fk/pk conjuncts: ss_sold_date_sk = d1.d_date_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=4,5,6 row-size=40B cardinality=2.88M cost=2880404
-|  |  in pipelines: 05(GETNEXT), 07(OPEN)
-|  |
-|  |--F103:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=7.82MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  JOIN BUILD
-|  |  |  join-table-id=20 plan-id=21 cohort-id=05
-|  |  |  build expressions: d1.d_date_sk
-|  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |
-|  |  133:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=6 row-size=8B cardinality=7.30K cost=258
-|  |  |  in pipelines: 07(GETNEXT)
-|  |  |
-|  |  F05: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=[196755]
-|  |  07:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim d1, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |     predicates: d1.d_year <= CAST(2001 AS INT), d1.d_year >= CAST(1999 AS INT)
-|  |     stored statistics:
-|  |       table: rows=73.05K size=2.15MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |     parquet statistics predicates: d1.d_year <= CAST(2001 AS INT), d1.d_year >= CAST(1999 AS INT)
-|  |     parquet dictionary predicates: d1.d_year <= CAST(2001 AS INT), d1.d_year >= CAST(1999 AS INT)
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=6 row-size=8B cardinality=7.30K cost=196669
-|  |     in pipelines: 07(GETNEXT)
-|  |
-|  08:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=21
-|  |  hash predicates: ss_item_sk = iss.i_item_sk
-|  |  fk/pk conjuncts: ss_item_sk = iss.i_item_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=4,5 row-size=32B cardinality=2.88M cost=2880404
-|  |  in pipelines: 05(GETNEXT), 06(OPEN)
-|  |
-|  |--F104:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=8.12MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[19266]
-|  |  JOIN BUILD
-|  |  |  join-table-id=21 plan-id=22 cohort-id=05
-|  |  |  build expressions: iss.i_item_sk
-|  |  |  runtime filters: RF021[min_max] <- iss.i_item_sk
-|  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |
-|  |  132:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=5 row-size=20B cardinality=18.00K cost=1266
-|  |  |  in pipelines: 06(GETNEXT)
-|  |  |
-|  |  F04:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Host Shared Resources: mem-estimate=5.00MB mem-reservation=5.00MB thread-reservation=0 runtime-filters-memory=5.00MB
-|  |  Per-Instance Resources: mem-estimate=16.09MB mem-reservation=256.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[50774]
-|  |  06:SCAN HDFS [tpcds_partitioned_parquet_snap.item iss, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |     runtime filters: RF009[min_max] -> iss.i_brand_id, RF010[min_max] -> iss.i_category_id, RF011[min_max] -> iss.i_class_id, RF006[bloom] -> iss.i_brand_id, RF007[bloom] -> iss.i_category_id, RF008[bloom] -> iss.i_class_id, RF012[bloom] -> iss.i_brand_id, RF013[bloom] -> iss.i_category_id
-|  |     stored statistics:
-|  |       table: rows=18.00K size=1.73MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |     tuple-ids=5 row-size=20B cardinality=18.00K cost=50352
-|  |     in pipelines: 06(GETNEXT)
-|  |
-|  05:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|     runtime filters: RF021[min_max] -> ss_item_sk
-|     stored statistics:
-|       table: rows=2.88M size=199.36MB
-|       partitions: 1824/1824 rows=2.88M
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=130.09K
-|     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|     tuple-ids=4 row-size=12B cardinality=2.88M cost=91233752
-|     in pipelines: 05(GETNEXT)
-|
-27:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash-table-id=22
-|  hash predicates: ss_item_sk = i_item_sk
-|  fk/pk conjuncts: ss_item_sk = i_item_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=0,2,1 row-size=52B cardinality=170.55K cost=170551
-|  in pipelines: 01(GETNEXT), 02(OPEN)
-|
-|--F105:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=5.24MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=3 segment-costs=[19266]
-|  JOIN BUILD
-|  |  join-table-id=22 plan-id=23 cohort-id=01
-|  |  build expressions: i_item_sk
-|  |  runtime filters: RF002[bloom] <- i_item_sk, RF003[min_max] <- i_item_sk
-|  |  mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |
-|  131:EXCHANGE [BROADCAST]
-|  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=1 row-size=20B cardinality=18.00K cost=1266
-|  |  in pipelines: 02(GETNEXT)
-|  |
-|  F02:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
-|  Per-Instance Resources: mem-estimate=16.09MB mem-reservation=256.00KB thread-reservation=1
-|  max-parallelism=1 segment-costs=[50774]
-|  02:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|     HDFS partitions=1/1 files=1 size=1.73MB
-|     runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.item.i_item_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.item.i_item_sk
-|     stored statistics:
-|       table: rows=18.00K size=1.73MB
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|     tuple-ids=1 row-size=20B cardinality=18.00K cost=50352
-|     in pipelines: 02(GETNEXT)
-|
-26:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash-table-id=23
-|  hash predicates: ss_sold_date_sk = d_date_sk
-|  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=0,2 row-size=32B cardinality=170.55K cost=170551
-|  in pipelines: 01(GETNEXT), 03(OPEN)
-|
-|--F106:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=4.89MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=3 segment-costs=[114]
-|  JOIN BUILD
-|  |  join-table-id=23 plan-id=24 cohort-id=01
-|  |  build expressions: d_date_sk
-|  |  runtime filters: RF004[bloom] <- d_date_sk
-|  |  mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0 cost=108
-|  |
-|  130:EXCHANGE [BROADCAST]
-|  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=2 row-size=12B cardinality=108 cost=6
-|  |  in pipelines: 03(GETNEXT)
-|  |
-|  F01: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=[196957]
-|  03:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|     HDFS partitions=1/1 files=1 size=2.15MB
-|     predicates: d_year = CAST(2001 AS INT), d_moy = CAST(11 AS INT)
-|     stored statistics:
-|       table: rows=73.05K size=2.15MB
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|     parquet statistics predicates: d_year = CAST(2001 AS INT), d_moy = CAST(11 AS INT)
-|     parquet dictionary predicates: d_year = CAST(2001 AS INT), d_moy = CAST(11 AS INT)
-|     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|     tuple-ids=2 row-size=12B cardinality=108 cost=196955
-|     in pipelines: 03(GETNEXT)
-|
-01:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-   HDFS partitions=1824/1824 files=1824 size=199.36MB
-   runtime filters: RF001[min_max] -> ss_item_sk, RF003[min_max] -> ss_item_sk, RF004[bloom] -> ss_sold_date_sk, RF000[bloom] -> ss_item_sk, RF002[bloom] -> ss_item_sk
-   stored statistics:
-     table: rows=2.88M size=199.36MB
-     partitions: 1824/1824 rows=2.88M
-     columns: all
-   extrapolated-rows=disabled max-scan-range-rows=130.09K est-scan-range=109(filtered from 1824)
-   mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-   tuple-ids=0 row-size=20B cardinality=170.55K(filtered from 2.88M) cost=5453331
-   in pipelines: 01(GETNEXT)
-====
-# TPCDS-Q14b second of two queries
-WITH cross_items AS
-
-  (SELECT i_item_sk ss_item_sk
-   FROM item,
-     (SELECT iss.i_brand_id brand_id,
-             iss.i_class_id class_id,
-             iss.i_category_id category_id
-      FROM store_sales,
-           item iss,
-           date_dim d1
-      WHERE ss_item_sk = iss.i_item_sk
-        AND ss_sold_date_sk = d1.d_date_sk
-        AND d1.d_year BETWEEN 1999 AND 1999 + 2 INTERSECT
-        SELECT ics.i_brand_id,
-               ics.i_class_id,
-               ics.i_category_id
-        FROM catalog_sales,
-             item ics,
-             date_dim d2 WHERE cs_item_sk = ics.i_item_sk
-        AND cs_sold_date_sk = d2.d_date_sk
-        AND d2.d_year BETWEEN 1999 AND 1999 + 2 INTERSECT
-        SELECT iws.i_brand_id,
-               iws.i_class_id,
-               iws.i_category_id
-        FROM web_sales,
-             item iws,
-             date_dim d3 WHERE ws_item_sk = iws.i_item_sk
-        AND ws_sold_date_sk = d3.d_date_sk
-        AND d3.d_year BETWEEN 1999 AND 1999 + 2) x
-   WHERE i_brand_id = brand_id
-     AND i_class_id = class_id
-     AND i_category_id = category_id ),
-     avg_sales AS
-
-  (SELECT avg(quantity*list_price) average_sales
-   FROM
-     (SELECT ss_quantity quantity,
-             ss_list_price list_price
-      FROM store_sales,
-           date_dim
-      WHERE ss_sold_date_sk = d_date_sk
-        AND d_year BETWEEN 1999 AND 1999 + 2
-      UNION ALL SELECT cs_quantity quantity,
-                       cs_list_price list_price
-      FROM catalog_sales,
-           date_dim
-      WHERE cs_sold_date_sk = d_date_sk
-        AND d_year BETWEEN 1999 AND 1999 + 2
-      UNION ALL SELECT ws_quantity quantity,
-                       ws_list_price list_price
-      FROM web_sales,
-           date_dim
-      WHERE ws_sold_date_sk = d_date_sk
-        AND d_year BETWEEN 1999 AND 1999 + 2) x)
-SELECT this_year.channel ty_channel,
-       this_year.i_brand_id ty_brand,
-       this_year.i_class_id ty_class,
-       this_year.i_category_id ty_category,
-       this_year.sales ty_sales,
-       this_year.number_sales ty_number_sales,
-       last_year.channel ly_channel,
-       last_year.i_brand_id ly_brand,
-       last_year.i_class_id ly_class,
-       last_year.i_category_id ly_category,
-       last_year.sales ly_sales,
-       last_year.number_sales ly_number_sales
-FROM
-  (SELECT 'store' channel,
-                  i_brand_id,
-                  i_class_id,
-                  i_category_id,
-                  sum(ss_quantity*ss_list_price) sales,
-                  count(*) number_sales
-   FROM store_sales,
-        item,
-        date_dim
-   WHERE ss_item_sk IN
-
-       (SELECT ss_item_sk
-        FROM cross_items)
-     AND ss_item_sk = i_item_sk
-     AND ss_sold_date_sk = d_date_sk
-     AND d_week_seq =
-       (SELECT d_week_seq
-        FROM date_dim
-        WHERE d_year = 1999 + 1
-          AND d_moy = 12
-          AND d_dom = 11)
-   GROUP BY i_brand_id,
-            i_class_id,
-            i_category_id
-   HAVING sum(ss_quantity*ss_list_price) >
-     (SELECT average_sales
-      FROM avg_sales)) this_year,
-  (SELECT 'store' channel,
-                  i_brand_id,
-                  i_class_id,
-                  i_category_id,
-                  sum(ss_quantity*ss_list_price) sales,
-                  count(*) number_sales
-   FROM store_sales,
-        item,
-        date_dim
-   WHERE ss_item_sk IN
-
-       (SELECT ss_item_sk
-        FROM cross_items)
-     AND ss_item_sk = i_item_sk
-     AND ss_sold_date_sk = d_date_sk
-     AND d_week_seq =
-       (SELECT d_week_seq
-        FROM date_dim
-        WHERE d_year = 1999
-          AND d_moy = 12
-          AND d_dom = 11)
-   GROUP BY i_brand_id,
-            i_class_id,
-            i_category_id
-   HAVING sum(ss_quantity*ss_list_price) >
-     (SELECT average_sales
-      FROM avg_sales)) last_year
-WHERE this_year.i_brand_id= last_year.i_brand_id
-  AND this_year.i_class_id = last_year.i_class_id
-  AND this_year.i_category_id = last_year.i_category_id
-ORDER BY this_year.channel,
-         this_year.i_brand_id,
-         this_year.i_class_id,
-         this_year.i_category_id
-LIMIT 100
----- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=564.75MB Threads=145
-Per-Host Resource Estimates: Memory=2.19GB
-F56:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Instance Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
-|  max-parallelism=1 segment-costs=[61] cpu-comparison-result=174 [max(1 (self) vs 174 (sum children))]
-PLAN-ROOT SINK
-|  output exprs: channel, i_brand_id, i_class_id, i_category_id, sales, number_sales, channel, i_brand_id, i_class_id, i_category_id, sales, number_sales
-|  mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=60
-|
-152:MERGING-EXCHANGE [UNPARTITIONED]
-|  order by: channel ASC, i_brand_id ASC, i_class_id ASC, i_category_id ASC
-|  limit: 100
-|  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=74 row-size=96B cardinality=5 cost=1
-|  in pipelines: 91(GETNEXT)
-|
-F19:PLAN FRAGMENT [HASH(i_brand_id,i_class_id,i_category_id)] hosts=3 instances=6 (adjusted from 48)
-Per-Instance Resources: mem-estimate=10.13MB mem-reservation=1.94MB thread-reservation=1
-max-parallelism=6 segment-costs=[1366, 833, 1] cpu-comparison-result=174 [max(6 (self) vs 174 (sum children))]
-91:TOP-N [LIMIT=100]
-|  order by: channel ASC, i_brand_id ASC, i_class_id ASC, i_category_id ASC
-|  mem-estimate=480B mem-reservation=0B thread-reservation=0
-|  tuple-ids=74 row-size=96B cardinality=5 cost=20
-|  in pipelines: 91(GETNEXT), 115(OPEN)
-|
-90:HASH JOIN [INNER JOIN, PARTITIONED]
-|  hash-table-id=00
-|  hash predicates: i_brand_id = i_brand_id, i_category_id = i_category_id, i_class_id = i_class_id
-|  fk/pk conjuncts: i_brand_id = i_brand_id, i_category_id = i_category_id, i_class_id = i_class_id
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=22,33,59,70 row-size=104B cardinality=5 cost=813
-|  in pipelines: 115(GETNEXT), 145(OPEN)
-|
-|--F57:PLAN FRAGMENT [HASH(i_brand_id,i_class_id,i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=14.94MB mem-reservation=6.88MB thread-reservation=1 runtime-filters-memory=3.00MB
-|  |  max-parallelism=6 segment-costs=[1366, 813] cpu-comparison-result=87 [max(6 (self) vs 87 (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
-|  |  runtime filters: RF000[bloom] <- i_brand_id, RF001[bloom] <- i_category_id, RF002[bloom] <- i_class_id, RF003[min_max] <- i_brand_id, RF004[min_max] <- i_category_id, RF005[min_max] <- i_class_id
-|  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=813
-|  |
-|  89:NESTED LOOP JOIN [INNER JOIN, BROADCAST]
-|  |  join table id: 01
-|  |  predicates: sum(ss_quantity * ss_list_price) > avg(quantity * list_price)
-|  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=59,70 row-size=52B cardinality=271 cost=0
-|  |  in pipelines: 145(GETNEXT), 150(OPEN)
-|  |
-|  |--F58:PLAN FRAGMENT [HASH(i_brand_id,i_class_id,i_category_id)] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=16.02KB mem-reservation=0B thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[3] cpu-comparison-result=33 [max(3 (self) vs 33 (sum children))]
-|  |  JOIN BUILD
-|  |  |  join-table-id=01 plan-id=02 cohort-id=02
-|  |  |  mem-estimate=16B mem-reservation=0B thread-reservation=0 cost=0
-|  |  |
-|  |  151:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=70 row-size=16B cardinality=1 cost=3
-|  |  |  in pipelines: 150(GETNEXT)
-|  |  |
-|  |  F55:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=96.00KB mem-reservation=0B thread-reservation=1
-|  |  max-parallelism=2 segment-costs=[2, 1] cpu-comparison-result=33 [max(2 (self) vs 33 (sum children))]
-|  |  150:AGGREGATE [FINALIZE]
-|  |  |  output: avg:merge(quantity * list_price)
-|  |  |  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  |  |  tuple-ids=70 row-size=16B cardinality=1 cost=1
-|  |  |  in pipelines: 150(GETNEXT), 88(OPEN)
-|  |  |
-|  |  149:EXCHANGE [UNPARTITIONED]
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=69 row-size=16B cardinality=1 cost=1
-|  |  |  in pipelines: 88(GETNEXT)
-|  |  |
-|  |  F54:PLAN FRAGMENT [RANDOM] hosts=3 instances=33 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=16.02MB mem-reservation=512.00KB thread-reservation=1
-|  |  max-parallelism=33 segment-costs=[314339768, 1] cpu-comparison-result=33 [max(33 (self) vs 12 (sum children))]
-|  |  88:AGGREGATE
-|  |  |  output: avg(CAST(quantity AS DECIMAL(10,0)) * list_price)
-|  |  |  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  |  |  tuple-ids=69 row-size=16B cardinality=1 cost=5041336
-|  |  |  in pipelines: 88(GETNEXT), 79(OPEN), 82(OPEN), 85(OPEN)
-|  |  |
-|  |  78:UNION
-|  |  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=67 row-size=8B cardinality=5.04M cost=30248016
-|  |  |  in pipelines: 79(GETNEXT), 82(GETNEXT), 85(GETNEXT)
-|  |  |
-|  |  |--87:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=04
-|  |  |  |  hash predicates: ws_sold_date_sk = d_date_sk
-|  |  |  |  fk/pk conjuncts: ws_sold_date_sk = d_date_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=65,66 row-size=20B cardinality=719.38K cost=719384
-|  |  |  |  in pipelines: 85(GETNEXT), 86(OPEN)
-|  |  |  |
-|  |  |  |--F61:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=21.38MB mem-reservation=21.31MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=04 plan-id=05 cohort-id=03
-|  |  |  |  |  build expressions: d_date_sk
-|  |  |  |  |  mem-estimate=21.31MB mem-reservation=21.31MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |  |
-|  |  |  |  148:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=66 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  |  in pipelines: 86(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F53: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=[196755]
-|  |  |  |  86:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |  |     predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=73.05K size=2.15MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |  |     parquet statistics predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |  |     parquet dictionary predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |  |     tuple-ids=66 row-size=8B cardinality=7.30K cost=196669
-|  |  |  |     in pipelines: 86(GETNEXT)
-|  |  |  |
-|  |  |  85:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
-|  |  |     HDFS partitions=1824/1824 files=1824 size=84.20MB
-|  |  |     stored statistics:
-|  |  |       table: rows=719.38K size=84.20MB
-|  |  |       partitions: 1824/1824 rows=719.38K
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=1.12K
-|  |  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |  |     tuple-ids=65 row-size=12B cardinality=719.38K cost=91208432
-|  |  |     in pipelines: 85(GETNEXT)
-|  |  |
-|  |  |--84:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=03
-|  |  |  |  hash predicates: cs_sold_date_sk = d_date_sk
-|  |  |  |  fk/pk conjuncts: cs_sold_date_sk = d_date_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=63,64 row-size=20B cardinality=1.44M cost=1441548
-|  |  |  |  in pipelines: 82(GETNEXT), 83(OPEN)
-|  |  |  |
-|  |  |  |--F60:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=21.38MB mem-reservation=21.31MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=03 plan-id=04 cohort-id=03
-|  |  |  |  |  build expressions: d_date_sk
-|  |  |  |  |  mem-estimate=21.31MB mem-reservation=21.31MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |  |
-|  |  |  |  147:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=64 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  |  in pipelines: 83(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F51: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=[196755]
-|  |  |  |  83:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |  |     predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=73.05K size=2.15MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |  |     parquet statistics predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |  |     parquet dictionary predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |  |     tuple-ids=64 row-size=8B cardinality=7.30K cost=196669
-|  |  |  |     in pipelines: 83(GETNEXT)
-|  |  |  |
-|  |  |  82:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
-|  |  |     HDFS partitions=1831/1831 files=1831 size=151.13MB
-|  |  |     stored statistics:
-|  |  |       table: rows=1.44M size=151.13MB
-|  |  |       partitions: 1831/1831 rows=1.44M
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=7.18K
-|  |  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |  |     tuple-ids=63 row-size=12B cardinality=1.44M cost=91566896
-|  |  |     in pipelines: 82(GETNEXT)
-|  |  |
-|  |  81:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=02
-|  |  |  hash predicates: ss_sold_date_sk = d_date_sk
-|  |  |  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=61,62 row-size=20B cardinality=2.88M cost=2880404
-|  |  |  in pipelines: 79(GETNEXT), 80(OPEN)
-|  |  |
-|  |  |--F59:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=21.38MB mem-reservation=21.31MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=02 plan-id=03 cohort-id=03
-|  |  |  |  build expressions: d_date_sk
-|  |  |  |  mem-estimate=21.31MB mem-reservation=21.31MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |
-|  |  |  146:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=62 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  in pipelines: 80(GETNEXT)
-|  |  |  |
-|  |  |  F49: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=[196755]
-|  |  |  80:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |     predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     stored statistics:
-|  |  |       table: rows=73.05K size=2.15MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |     parquet statistics predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     parquet dictionary predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=62 row-size=8B cardinality=7.30K cost=196669
-|  |  |     in pipelines: 80(GETNEXT)
-|  |  |
-|  |  79:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|  |     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|  |     stored statistics:
-|  |       table: rows=2.88M size=199.36MB
-|  |       partitions: 1824/1824 rows=2.88M
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=130.09K
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=61 row-size=12B cardinality=2.88M cost=91233752
-|  |     in pipelines: 79(GETNEXT)
-|  |
-|  145:AGGREGATE [FINALIZE]
-|  |  output: sum:merge(ss_quantity * ss_list_price), count:merge(*)
-|  |  group by: i_brand_id, i_class_id, i_category_id
-|  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=59 row-size=36B cardinality=271 cost=1355
-|  |  in pipelines: 145(GETNEXT), 45(OPEN)
-|  |
-|  144:EXCHANGE [HASH(i_brand_id,i_class_id,i_category_id)]
-|  |  mem-estimate=130.21KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=59 row-size=36B cardinality=271 cost=11
-|  |  in pipelines: 45(GETNEXT)
-|  |
-|  F28:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=26.94MB mem-reservation=3.00MB thread-reservation=1
-|  max-parallelism=12 segment-costs=[102779227, 11] cpu-comparison-result=54 [max(12 (self) vs 54 (sum children))]
-|  77:AGGREGATE [STREAMING]
-|  |  output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_list_price), count(*)
-|  |  group by: i_brand_id, i_class_id, i_category_id
-|  |  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=59 row-size=36B cardinality=271 cost=1355
-|  |  in pipelines: 45(GETNEXT)
-|  |
-|  76:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
-|  |  hash-table-id=05
-|  |  hash predicates: d_week_seq = d_week_seq
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=37,38,39 row-size=48B cardinality=271 cost=2880404
-|  |  in pipelines: 45(GETNEXT), 71(OPEN)
-|  |
-|  |--F62:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=8.77MB mem-reservation=8.75MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=3 segment-costs=[4] cpu-comparison-result=3 [max(3 (self) vs 3 (sum children))]
-|  |  JOIN BUILD
-|  |  |  join-table-id=05 plan-id=06 cohort-id=02
-|  |  |  build expressions: d_week_seq
-|  |  |  runtime filters: RF044[bloom] <- d_week_seq, RF045[min_max] <- d_week_seq
-|  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=1
-|  |  |
-|  |  143:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=57 row-size=16B cardinality=1 cost=3
-|  |  |  in pipelines: 71(GETNEXT)
-|  |  |
-|  |  F46:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=80.00KB mem-reservation=0B thread-reservation=1
-|  |  max-parallelism=2 segment-costs=[1, 1]
-|  |  71:CARDINALITY CHECK
-|  |  |  limit: 1
-|  |  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=57 row-size=16B cardinality=1 cost=0
-|  |  |  in pipelines: 71(GETNEXT), 70(OPEN)
-|  |  |
-|  |  142:EXCHANGE [UNPARTITIONED]
-|  |  |  limit: 2
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=57 row-size=16B cardinality=2 cost=1
-|  |  |  in pipelines: 70(GETNEXT)
-|  |  |
-|  |  F45:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.08MB mem-reservation=512.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[270290]
-|  |  70:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |     predicates: d_year = CAST(1999 AS INT), d_dom = CAST(11 AS INT), d_moy = CAST(12 AS INT)
-|  |     stored statistics:
-|  |       table: rows=73.05K size=2.15MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |     parquet statistics predicates: d_year = CAST(1999 AS INT), d_dom = CAST(11 AS INT), d_moy = CAST(12 AS INT)
-|  |     parquet dictionary predicates: d_year = CAST(1999 AS INT), d_dom = CAST(11 AS INT), d_moy = CAST(12 AS INT)
-|  |     limit: 2
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=57 row-size=16B cardinality=2 cost=270289
-|  |     in pipelines: 70(GETNEXT)
-|  |
-|  75:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
-|  |  hash-table-id=06
-|  |  hash predicates: ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=37,38,39 row-size=48B cardinality=2.88M cost=2880404
-|  |  in pipelines: 45(GETNEXT), 140(OPEN)
-|  |
-|  |--F63:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=7.96MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[18608] cpu-comparison-result=43 [max(3 (self) vs 43 (sum children))]
-|  |  JOIN BUILD
-|  |  |  join-table-id=06 plan-id=07 cohort-id=02
-|  |  |  build expressions: tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  |  runtime filters: RF047[min_max] <- tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=17975
-|  |  |
-|  |  141:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=212.43KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=114 row-size=8B cardinality=17.98K cost=633
-|  |  |  in pipelines: 140(GETNEXT)
-|  |  |
-|  |  F44:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.item.i_item_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=10.12MB mem-reservation=1.94MB thread-reservation=1
-|  |  max-parallelism=6 segment-costs=[18186, 211] cpu-comparison-result=43 [max(6 (self) vs 43 (sum children))]
-|  |  140:AGGREGATE [FINALIZE]
-|  |  |  group by: tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=114 row-size=8B cardinality=17.98K cost=17975
-|  |  |  in pipelines: 140(GETNEXT), 127(OPEN)
-|  |  |
-|  |  139:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item.i_item_sk)]
-|  |  |  mem-estimate=118.81KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=114 row-size=8B cardinality=17.98K cost=211
-|  |  |  in pipelines: 127(GETNEXT)
-|  |  |
-|  |  F34:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=20.76MB mem-reservation=3.94MB thread-reservation=1
-|  |  max-parallelism=6 segment-costs=[448725, 1488000, 211] cpu-comparison-result=43 [max(6 (self) vs 43 (sum children))]
-|  |  74:AGGREGATE [STREAMING]
-|  |  |  group by: tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  |  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=114 row-size=8B cardinality=17.98K cost=148800
-|  |  |  in pipelines: 127(GETNEXT)
-|  |  |
-|  |  69:HASH JOIN [INNER JOIN, PARTITIONED]
-|  |  |  hash-table-id=07
-|  |  |  hash predicates: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
-|  |  |  fk/pk conjuncts: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=44,40 row-size=32B cardinality=148.80K cost=446400
-|  |  |  in pipelines: 127(GETNEXT), 48(OPEN)
-|  |  |
-|  |  |--F64:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  |  Per-Instance Resources: mem-estimate=2.30MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  |  max-parallelism=6 segment-costs=[54422]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=07 plan-id=08 cohort-id=04
-|  |  |  |  build expressions: i_brand_id, i_category_id, i_class_id
-|  |  |  |  runtime filters: RF055[min_max] <- i_brand_id, RF056[min_max] <- i_category_id, RF057[min_max] <- i_class_id
-|  |  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=54000
-|  |  |  |
-|  |  |  138:EXCHANGE [HASH(i_brand_id,i_class_id,i_category_id)]
-|  |  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=40 row-size=20B cardinality=18.00K cost=422
-|  |  |  |  in pipelines: 48(GETNEXT)
-|  |  |  |
-|  |  |  F43:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  Per-Instance Resources: mem-estimate=16.56MB mem-reservation=256.00KB thread-reservation=1
-|  |  |  max-parallelism=1 segment-costs=[50774]
-|  |  |  48:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |  |     stored statistics:
-|  |  |       table: rows=18.00K size=1.73MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |  |     tuple-ids=40 row-size=20B cardinality=18.00K cost=50352
-|  |  |     in pipelines: 48(GETNEXT)
-|  |  |
-|  |  68:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
-|  |  |  hash-table-id=08
-|  |  |  hash predicates: iss.i_brand_id IS NOT DISTINCT FROM iws.i_brand_id, iss.i_category_id IS NOT DISTINCT FROM iws.i_category_id, iss.i_class_id IS NOT DISTINCT FROM iws.i_class_id
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=44 row-size=12B cardinality=148.80K cost=446400
-|  |  |  in pipelines: 127(GETNEXT), 136(OPEN)
-|  |  |
-|  |  |--F65:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  |  Per-Instance Resources: mem-estimate=2.60MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  |  max-parallelism=6 segment-costs=[448725] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=08 plan-id=09 cohort-id=04
-|  |  |  |  build expressions: iws.i_brand_id, iws.i_category_id, iws.i_class_id
-|  |  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=446400
-|  |  |  |
-|  |  |  137:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-|  |  |  |  mem-estimate=677.25KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=112 row-size=12B cardinality=148.80K cost=2325
-|  |  |  |  in pipelines: 136(GETNEXT)
-|  |  |  |
-|  |  |  F42:PLAN FRAGMENT [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=10.76MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  max-parallelism=6 segment-costs=[448725, 2325] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  |  136:AGGREGATE [FINALIZE]
-|  |  |  |  group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
-|  |  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=112 row-size=12B cardinality=148.80K cost=446400
-|  |  |  |  in pipelines: 136(GETNEXT), 60(OPEN)
-|  |  |  |
-|  |  |  135:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-|  |  |  |  mem-estimate=773.25KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=112 row-size=12B cardinality=148.80K cost=2325
-|  |  |  |  in pipelines: 60(GETNEXT)
-|  |  |  |
-|  |  |  F39:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=26.38MB mem-reservation=3.12MB thread-reservation=1
-|  |  |  max-parallelism=12 segment-costs=[94805352, 2325] cpu-comparison-result=12 [max(12 (self) vs 8 (sum children))]
-|  |  |  67:AGGREGATE [STREAMING]
-|  |  |  |  group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
-|  |  |  |  mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-|  |  |  |  tuple-ids=112 row-size=12B cardinality=148.80K cost=2158152
-|  |  |  |  in pipelines: 60(GETNEXT)
-|  |  |  |
-|  |  |  64:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=09
-|  |  |  |  hash predicates: ws_sold_date_sk = d3.d_date_sk
-|  |  |  |  fk/pk conjuncts: ws_sold_date_sk = d3.d_date_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=50,51,52 row-size=40B cardinality=719.38K cost=719384
-|  |  |  |  in pipelines: 60(GETNEXT), 62(OPEN)
-|  |  |  |
-|  |  |  |--F66:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=7.82MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=09 plan-id=10 cohort-id=05
-|  |  |  |  |  build expressions: d3.d_date_sk
-|  |  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |  |
-|  |  |  |  134:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=52 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  |  in pipelines: 62(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F41: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=[196755]
-|  |  |  |  62:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim d3, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |  |     predicates: d3.d_year <= CAST(2001 AS INT), d3.d_year >= CAST(1999 AS INT)
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=73.05K size=2.15MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |  |     parquet statistics predicates: d3.d_year <= CAST(2001 AS INT), d3.d_year >= CAST(1999 AS INT)
-|  |  |  |     parquet dictionary predicates: d3.d_year <= CAST(2001 AS INT), d3.d_year >= CAST(1999 AS INT)
-|  |  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |  |     tuple-ids=52 row-size=8B cardinality=7.30K cost=196669
-|  |  |  |     in pipelines: 62(GETNEXT)
-|  |  |  |
-|  |  |  63:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=10
-|  |  |  |  hash predicates: ws_item_sk = iws.i_item_sk
-|  |  |  |  fk/pk conjuncts: ws_item_sk = iws.i_item_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=50,51 row-size=32B cardinality=719.38K cost=719384
-|  |  |  |  in pipelines: 60(GETNEXT), 61(OPEN)
-|  |  |  |
-|  |  |  |--F67:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=8.12MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[19266]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=10 plan-id=11 cohort-id=05
-|  |  |  |  |  build expressions: iws.i_item_sk
-|  |  |  |  |  runtime filters: RF075[min_max] <- iws.i_item_sk
-|  |  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |  |  |
-|  |  |  |  133:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=51 row-size=20B cardinality=18.00K cost=1266
-|  |  |  |  |  in pipelines: 61(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F40:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  |  Per-Instance Resources: mem-estimate=16.09MB mem-reservation=256.00KB thread-reservation=1
-|  |  |  |  max-parallelism=1 segment-costs=[50774]
-|  |  |  |  61:SCAN HDFS [tpcds_partitioned_parquet_snap.item iws, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=18.00K size=1.73MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |  |  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |  |  |     tuple-ids=51 row-size=20B cardinality=18.00K cost=50352
-|  |  |  |     in pipelines: 61(GETNEXT)
-|  |  |  |
-|  |  |  60:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
-|  |  |     HDFS partitions=1824/1824 files=1824 size=84.20MB
-|  |  |     runtime filters: RF075[min_max] -> ws_item_sk
-|  |  |     stored statistics:
-|  |  |       table: rows=719.38K size=84.20MB
-|  |  |       partitions: 1824/1824 rows=719.38K
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=1.12K
-|  |  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |  |     tuple-ids=50 row-size=12B cardinality=719.38K cost=91208432
-|  |  |     in pipelines: 60(GETNEXT)
-|  |  |
-|  |  66:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
-|  |  |  hash-table-id=11
-|  |  |  hash predicates: iss.i_brand_id IS NOT DISTINCT FROM ics.i_brand_id, iss.i_category_id IS NOT DISTINCT FROM ics.i_category_id, iss.i_class_id IS NOT DISTINCT FROM ics.i_class_id
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=44 row-size=12B cardinality=148.80K cost=446400
-|  |  |  in pipelines: 127(GETNEXT), 131(OPEN)
-|  |  |
-|  |  |--F68:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  |  Per-Instance Resources: mem-estimate=2.60MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  |  max-parallelism=6 segment-costs=[448725] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=11 plan-id=12 cohort-id=04
-|  |  |  |  build expressions: ics.i_brand_id, ics.i_category_id, ics.i_class_id
-|  |  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=446400
-|  |  |  |
-|  |  |  132:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-|  |  |  |  mem-estimate=677.25KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=111 row-size=12B cardinality=148.80K cost=2325
-|  |  |  |  in pipelines: 131(GETNEXT)
-|  |  |  |
-|  |  |  F38:PLAN FRAGMENT [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=10.76MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  max-parallelism=6 segment-costs=[448725, 2325] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  |  131:AGGREGATE [FINALIZE]
-|  |  |  |  group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
-|  |  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=111 row-size=12B cardinality=148.80K cost=446400
-|  |  |  |  in pipelines: 131(GETNEXT), 55(OPEN)
-|  |  |  |
-|  |  |  130:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-|  |  |  |  mem-estimate=773.25KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=111 row-size=12B cardinality=148.80K cost=2325
-|  |  |  |  in pipelines: 55(GETNEXT)
-|  |  |  |
-|  |  |  F35:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=26.38MB mem-reservation=5.12MB thread-reservation=1
-|  |  |  max-parallelism=12 segment-costs=[98774636, 2325] cpu-comparison-result=12 [max(12 (self) vs 8 (sum children))]
-|  |  |  65:AGGREGATE [STREAMING]
-|  |  |  |  group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
-|  |  |  |  mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-|  |  |  |  tuple-ids=111 row-size=12B cardinality=148.80K cost=4324644
-|  |  |  |  in pipelines: 55(GETNEXT)
-|  |  |  |
-|  |  |  59:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=12
-|  |  |  |  hash predicates: cs_sold_date_sk = d2.d_date_sk
-|  |  |  |  fk/pk conjuncts: cs_sold_date_sk = d2.d_date_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=46,47,48 row-size=40B cardinality=1.44M cost=1441548
-|  |  |  |  in pipelines: 55(GETNEXT), 57(OPEN)
-|  |  |  |
-|  |  |  |--F69:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=7.82MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=12 plan-id=13 cohort-id=06
-|  |  |  |  |  build expressions: d2.d_date_sk
-|  |  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |  |
-|  |  |  |  129:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=48 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  |  in pipelines: 57(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F37: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=[196755]
-|  |  |  |  57:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim d2, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |  |     predicates: d2.d_year <= CAST(2001 AS INT), d2.d_year >= CAST(1999 AS INT)
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=73.05K size=2.15MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |  |     parquet statistics predicates: d2.d_year <= CAST(2001 AS INT), d2.d_year >= CAST(1999 AS INT)
-|  |  |  |     parquet dictionary predicates: d2.d_year <= CAST(2001 AS INT), d2.d_year >= CAST(1999 AS INT)
-|  |  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |  |     tuple-ids=48 row-size=8B cardinality=7.30K cost=196669
-|  |  |  |     in pipelines: 57(GETNEXT)
-|  |  |  |
-|  |  |  58:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=13
-|  |  |  |  hash predicates: cs_item_sk = ics.i_item_sk
-|  |  |  |  fk/pk conjuncts: cs_item_sk = ics.i_item_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=46,47 row-size=32B cardinality=1.44M cost=1441548
-|  |  |  |  in pipelines: 55(GETNEXT), 56(OPEN)
-|  |  |  |
-|  |  |  |--F70:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=8.12MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[19266]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=13 plan-id=14 cohort-id=06
-|  |  |  |  |  build expressions: ics.i_item_sk
-|  |  |  |  |  runtime filters: RF071[min_max] <- ics.i_item_sk
-|  |  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |  |  |
-|  |  |  |  128:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=47 row-size=20B cardinality=18.00K cost=1266
-|  |  |  |  |  in pipelines: 56(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F36:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  |  Per-Instance Resources: mem-estimate=16.09MB mem-reservation=256.00KB thread-reservation=1
-|  |  |  |  max-parallelism=1 segment-costs=[50774]
-|  |  |  |  56:SCAN HDFS [tpcds_partitioned_parquet_snap.item ics, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=18.00K size=1.73MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |  |  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |  |  |     tuple-ids=47 row-size=20B cardinality=18.00K cost=50352
-|  |  |  |     in pipelines: 56(GETNEXT)
-|  |  |  |
-|  |  |  55:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
-|  |  |     HDFS partitions=1831/1831 files=1831 size=151.13MB
-|  |  |     runtime filters: RF071[min_max] -> cs_item_sk
-|  |  |     stored statistics:
-|  |  |       table: rows=1.44M size=151.13MB
-|  |  |       partitions: 1831/1831 rows=1.44M
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=7.18K
-|  |  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |  |     tuple-ids=46 row-size=12B cardinality=1.44M cost=91566896
-|  |  |     in pipelines: 55(GETNEXT)
-|  |  |
-|  |  127:AGGREGATE [FINALIZE]
-|  |  |  group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
-|  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=44 row-size=12B cardinality=148.80K cost=446400
-|  |  |  in pipelines: 127(GETNEXT), 49(OPEN)
-|  |  |
-|  |  126:EXCHANGE [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)]
-|  |  |  mem-estimate=773.25KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=44 row-size=12B cardinality=148.80K cost=2325
-|  |  |  in pipelines: 49(GETNEXT)
-|  |  |
-|  |  F31:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=26.38MB mem-reservation=5.50MB thread-reservation=1
-|  |  max-parallelism=12 segment-costs=[105635772, 2325] cpu-comparison-result=12 [max(12 (self) vs 8 (sum children))]
-|  |  54:AGGREGATE [STREAMING]
-|  |  |  group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
-|  |  |  mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-|  |  |  tuple-ids=44 row-size=12B cardinality=148.80K cost=8641212
-|  |  |  in pipelines: 49(GETNEXT)
-|  |  |
-|  |  53:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=14
-|  |  |  hash predicates: ss_sold_date_sk = d1.d_date_sk
-|  |  |  fk/pk conjuncts: ss_sold_date_sk = d1.d_date_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=41,42,43 row-size=40B cardinality=2.88M cost=2880404
-|  |  |  in pipelines: 49(GETNEXT), 51(OPEN)
-|  |  |
-|  |  |--F71:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=7.82MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=14 plan-id=15 cohort-id=04
-|  |  |  |  build expressions: d1.d_date_sk
-|  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |
-|  |  |  125:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=43 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  in pipelines: 51(GETNEXT)
-|  |  |  |
-|  |  |  F33: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=[196755]
-|  |  |  51:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim d1, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |     predicates: d1.d_year <= CAST(2001 AS INT), d1.d_year >= CAST(1999 AS INT)
-|  |  |     stored statistics:
-|  |  |       table: rows=73.05K size=2.15MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |     parquet statistics predicates: d1.d_year <= CAST(2001 AS INT), d1.d_year >= CAST(1999 AS INT)
-|  |  |     parquet dictionary predicates: d1.d_year <= CAST(2001 AS INT), d1.d_year >= CAST(1999 AS INT)
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=43 row-size=8B cardinality=7.30K cost=196669
-|  |  |     in pipelines: 51(GETNEXT)
-|  |  |
-|  |  52:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=15
-|  |  |  hash predicates: ss_item_sk = iss.i_item_sk
-|  |  |  fk/pk conjuncts: ss_item_sk = iss.i_item_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=41,42 row-size=32B cardinality=2.88M cost=2880404
-|  |  |  in pipelines: 49(GETNEXT), 50(OPEN)
-|  |  |
-|  |  |--F72:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=8.12MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[19266]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=15 plan-id=16 cohort-id=04
-|  |  |  |  build expressions: iss.i_item_sk
-|  |  |  |  runtime filters: RF067[min_max] <- iss.i_item_sk
-|  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |  |
-|  |  |  124:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=42 row-size=20B cardinality=18.00K cost=1266
-|  |  |  |  in pipelines: 50(GETNEXT)
-|  |  |  |
-|  |  |  F32:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  Per-Instance Resources: mem-estimate=16.09MB mem-reservation=256.00KB thread-reservation=1
-|  |  |  max-parallelism=1 segment-costs=[50774]
-|  |  |  50:SCAN HDFS [tpcds_partitioned_parquet_snap.item iss, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |  |     runtime filters: RF055[min_max] -> iss.i_brand_id, RF056[min_max] -> iss.i_category_id, RF057[min_max] -> iss.i_class_id
-|  |  |     stored statistics:
-|  |  |       table: rows=18.00K size=1.73MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |  |     tuple-ids=42 row-size=20B cardinality=18.00K cost=50352
-|  |  |     in pipelines: 50(GETNEXT)
-|  |  |
-|  |  49:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|  |     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|  |     runtime filters: RF067[min_max] -> ss_item_sk
-|  |     stored statistics:
-|  |       table: rows=2.88M size=199.36MB
-|  |       partitions: 1824/1824 rows=2.88M
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=130.09K
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=41 row-size=12B cardinality=2.88M cost=91233752
-|  |     in pipelines: 49(GETNEXT)
-|  |
-|  73:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=16
-|  |  hash predicates: ss_sold_date_sk = d_date_sk
-|  |  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-|  |  tuple-ids=37,38,39 row-size=48B cardinality=2.88M cost=2880404
-|  |  in pipelines: 45(GETNEXT), 47(OPEN)
-|  |
-|  |--F73:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=19.57MB mem-reservation=19.00MB thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[75620]
-|  |  JOIN BUILD
-|  |  |  join-table-id=16 plan-id=17 cohort-id=02
-|  |  |  build expressions: d_date_sk
-|  |  |  mem-estimate=19.00MB mem-reservation=19.00MB spill-buffer=256.00KB thread-reservation=0 cost=73049
-|  |  |
-|  |  123:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=582.70KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=39 row-size=8B cardinality=73.05K cost=2571
-|  |  |  in pipelines: 47(GETNEXT)
-|  |  |
-|  |  F30:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
-|  |  Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[51428]
-|  |  47:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |     runtime filters: RF045[min_max] -> d_week_seq, RF044[bloom] -> d_week_seq
-|  |     stored statistics:
-|  |       table: rows=73.05K size=2.15MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=39 row-size=8B cardinality=73.05K cost=50571
-|  |     in pipelines: 47(GETNEXT)
-|  |
-|  72:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=17
-|  |  hash predicates: ss_item_sk = i_item_sk
-|  |  fk/pk conjuncts: ss_item_sk = i_item_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=37,38 row-size=40B cardinality=2.88M cost=2880404
-|  |  in pipelines: 45(GETNEXT), 46(OPEN)
-|  |
-|  |--F74:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=8.12MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[19266]
-|  |  JOIN BUILD
-|  |  |  join-table-id=17 plan-id=18 cohort-id=02
-|  |  |  build expressions: i_item_sk
-|  |  |  runtime filters: RF051[min_max] <- i_item_sk
-|  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |
-|  |  122:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=38 row-size=20B cardinality=18.00K cost=1266
-|  |  |  in pipelines: 46(GETNEXT)
-|  |  |
-|  |  F29:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.09MB mem-reservation=256.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[50774]
-|  |  46:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |     runtime filters: RF047[min_max] -> tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |     stored statistics:
-|  |       table: rows=18.00K size=1.73MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |     tuple-ids=38 row-size=20B cardinality=18.00K cost=50352
-|  |     in pipelines: 46(GETNEXT)
-|  |
-|  45:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|     runtime filters: RF047[min_max] -> ss_item_sk, RF051[min_max] -> ss_item_sk
-|     stored statistics:
-|       table: rows=2.88M size=199.36MB
-|       partitions: 1824/1824 rows=2.88M
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=130.09K
-|     mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-|     tuple-ids=37 row-size=20B cardinality=2.88M cost=91256256
-|     in pipelines: 45(GETNEXT)
-|
-44:NESTED LOOP JOIN [INNER JOIN, BROADCAST]
-|  join table id: 18
-|  predicates: sum(ss_quantity * ss_list_price) > avg(quantity * list_price)
-|  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  tuple-ids=22,33 row-size=52B cardinality=271 cost=0
-|  in pipelines: 115(GETNEXT), 120(OPEN)
-|
-|--F75:PLAN FRAGMENT [HASH(i_brand_id,i_class_id,i_category_id)] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=16.02KB mem-reservation=0B thread-reservation=1
-|  |  max-parallelism=3 segment-costs=[3] cpu-comparison-result=33 [max(3 (self) vs 33 (sum children))]
-|  JOIN BUILD
-|  |  join-table-id=18 plan-id=19 cohort-id=01
-|  |  mem-estimate=16B mem-reservation=0B thread-reservation=0 cost=0
-|  |
-|  121:EXCHANGE [BROADCAST]
-|  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=33 row-size=16B cardinality=1 cost=3
-|  |  in pipelines: 120(GETNEXT)
-|  |
-|  F27:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Instance Resources: mem-estimate=96.00KB mem-reservation=0B thread-reservation=1
-|  max-parallelism=2 segment-costs=[2, 1] cpu-comparison-result=33 [max(2 (self) vs 33 (sum children))]
-|  120:AGGREGATE [FINALIZE]
-|  |  output: avg:merge(quantity * list_price)
-|  |  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  |  tuple-ids=33 row-size=16B cardinality=1 cost=1
-|  |  in pipelines: 120(GETNEXT), 43(OPEN)
-|  |
-|  119:EXCHANGE [UNPARTITIONED]
-|  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=32 row-size=16B cardinality=1 cost=1
-|  |  in pipelines: 43(GETNEXT)
-|  |
-|  F26:PLAN FRAGMENT [RANDOM] hosts=3 instances=33 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=16.02MB mem-reservation=512.00KB thread-reservation=1
-|  max-parallelism=33 segment-costs=[314339768, 1] cpu-comparison-result=33 [max(33 (self) vs 12 (sum children))]
-|  43:AGGREGATE
-|  |  output: avg(CAST(quantity AS DECIMAL(10,0)) * list_price)
-|  |  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  |  tuple-ids=32 row-size=16B cardinality=1 cost=5041336
-|  |  in pipelines: 43(GETNEXT), 34(OPEN), 37(OPEN), 40(OPEN)
-|  |
-|  33:UNION
-|  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=30 row-size=8B cardinality=5.04M cost=30248016
-|  |  in pipelines: 34(GETNEXT), 37(GETNEXT), 40(GETNEXT)
-|  |
-|  |--42:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=21
-|  |  |  hash predicates: ws_sold_date_sk = d_date_sk
-|  |  |  fk/pk conjuncts: ws_sold_date_sk = d_date_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=28,29 row-size=20B cardinality=719.38K cost=719384
-|  |  |  in pipelines: 40(GETNEXT), 41(OPEN)
-|  |  |
-|  |  |--F78:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=21.38MB mem-reservation=21.31MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=21 plan-id=22 cohort-id=07
-|  |  |  |  build expressions: d_date_sk
-|  |  |  |  mem-estimate=21.31MB mem-reservation=21.31MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |
-|  |  |  118:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=29 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  in pipelines: 41(GETNEXT)
-|  |  |  |
-|  |  |  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=[196755]
-|  |  |  41:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |     predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     stored statistics:
-|  |  |       table: rows=73.05K size=2.15MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |     parquet statistics predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     parquet dictionary predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=29 row-size=8B cardinality=7.30K cost=196669
-|  |  |     in pipelines: 41(GETNEXT)
-|  |  |
-|  |  40:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
-|  |     HDFS partitions=1824/1824 files=1824 size=84.20MB
-|  |     stored statistics:
-|  |       table: rows=719.38K size=84.20MB
-|  |       partitions: 1824/1824 rows=719.38K
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=1.12K
-|  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |     tuple-ids=28 row-size=12B cardinality=719.38K cost=91208432
-|  |     in pipelines: 40(GETNEXT)
-|  |
-|  |--39:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=20
-|  |  |  hash predicates: cs_sold_date_sk = d_date_sk
-|  |  |  fk/pk conjuncts: cs_sold_date_sk = d_date_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=26,27 row-size=20B cardinality=1.44M cost=1441548
-|  |  |  in pipelines: 37(GETNEXT), 38(OPEN)
-|  |  |
-|  |  |--F77:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=21.38MB mem-reservation=21.31MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=20 plan-id=21 cohort-id=07
-|  |  |  |  build expressions: d_date_sk
-|  |  |  |  mem-estimate=21.31MB mem-reservation=21.31MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |
-|  |  |  117:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=27 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  in pipelines: 38(GETNEXT)
-|  |  |  |
-|  |  |  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=[196755]
-|  |  |  38:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |     predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     stored statistics:
-|  |  |       table: rows=73.05K size=2.15MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |     parquet statistics predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     parquet dictionary predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=27 row-size=8B cardinality=7.30K cost=196669
-|  |  |     in pipelines: 38(GETNEXT)
-|  |  |
-|  |  37:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
-|  |     HDFS partitions=1831/1831 files=1831 size=151.13MB
-|  |     stored statistics:
-|  |       table: rows=1.44M size=151.13MB
-|  |       partitions: 1831/1831 rows=1.44M
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=7.18K
-|  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |     tuple-ids=26 row-size=12B cardinality=1.44M cost=91566896
-|  |     in pipelines: 37(GETNEXT)
-|  |
-|  36:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=19
-|  |  hash predicates: ss_sold_date_sk = d_date_sk
-|  |  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=24,25 row-size=20B cardinality=2.88M cost=2880404
-|  |  in pipelines: 34(GETNEXT), 35(OPEN)
-|  |
-|  |--F76:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=21.38MB mem-reservation=21.31MB thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  JOIN BUILD
-|  |  |  join-table-id=19 plan-id=20 cohort-id=07
-|  |  |  build expressions: d_date_sk
-|  |  |  mem-estimate=21.31MB mem-reservation=21.31MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |
-|  |  116:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=25 row-size=8B cardinality=7.30K cost=258
-|  |  |  in pipelines: 35(GETNEXT)
-|  |  |
-|  |  F21: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=[196755]
-|  |  35:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |     predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |     stored statistics:
-|  |       table: rows=73.05K size=2.15MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |     parquet statistics predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |     parquet dictionary predicates: d_year <= CAST(2001 AS INT), d_year >= CAST(1999 AS INT)
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=25 row-size=8B cardinality=7.30K cost=196669
-|  |     in pipelines: 35(GETNEXT)
-|  |
-|  34:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|     stored statistics:
-|       table: rows=2.88M size=199.36MB
-|       partitions: 1824/1824 rows=2.88M
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=130.09K
-|     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|     tuple-ids=24 row-size=12B cardinality=2.88M cost=91233752
-|     in pipelines: 34(GETNEXT)
-|
-115:AGGREGATE [FINALIZE]
-|  output: sum:merge(ss_quantity * ss_list_price), count:merge(*)
-|  group by: i_brand_id, i_class_id, i_category_id
-|  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=22 row-size=36B cardinality=271 cost=1355
-|  in pipelines: 115(GETNEXT), 00(OPEN)
-|
-114:EXCHANGE [HASH(i_brand_id,i_class_id,i_category_id)]
-|  mem-estimate=130.21KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=22 row-size=36B cardinality=271 cost=11
-|  in pipelines: 00(GETNEXT)
-|
-F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-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=26.94MB mem-reservation=3.00MB thread-reservation=1
-max-parallelism=12 segment-costs=[102779227, 11] cpu-comparison-result=54 [max(12 (self) vs 54 (sum children))]
-32:AGGREGATE [STREAMING]
-|  output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_list_price), count(*)
-|  group by: i_brand_id, i_class_id, i_category_id
-|  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=22 row-size=36B cardinality=271 cost=1355
-|  in pipelines: 00(GETNEXT)
-|
-31:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
-|  hash-table-id=22
-|  hash predicates: d_week_seq = d_week_seq
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=0,1,2 row-size=48B cardinality=271 cost=2880404
-|  in pipelines: 00(GETNEXT), 26(OPEN)
-|
-|--F79:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=8.77MB mem-reservation=8.75MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=3 segment-costs=[4] cpu-comparison-result=3 [max(3 (self) vs 3 (sum children))]
-|  JOIN BUILD
-|  |  join-table-id=22 plan-id=23 cohort-id=01
-|  |  build expressions: d_week_seq
-|  |  runtime filters: RF006[bloom] <- d_week_seq, RF007[min_max] <- d_week_seq
-|  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=1
-|  |
-|  113:EXCHANGE [BROADCAST]
-|  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=20 row-size=16B cardinality=1 cost=3
-|  |  in pipelines: 26(GETNEXT)
-|  |
-|  F18:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Instance Resources: mem-estimate=80.00KB mem-reservation=0B thread-reservation=1
-|  max-parallelism=2 segment-costs=[1, 1]
-|  26:CARDINALITY CHECK
-|  |  limit: 1
-|  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=20 row-size=16B cardinality=1 cost=0
-|  |  in pipelines: 26(GETNEXT), 25(OPEN)
-|  |
-|  112:EXCHANGE [UNPARTITIONED]
-|  |  limit: 2
-|  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=20 row-size=16B cardinality=2 cost=1
-|  |  in pipelines: 25(GETNEXT)
-|  |
-|  F17:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  Per-Instance Resources: mem-estimate=16.08MB mem-reservation=512.00KB thread-reservation=1
-|  max-parallelism=1 segment-costs=[270290]
-|  25:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|     HDFS partitions=1/1 files=1 size=2.15MB
-|     predicates: d_year = CAST(2000 AS INT), d_dom = CAST(11 AS INT), d_moy = CAST(12 AS INT)
-|     stored statistics:
-|       table: rows=73.05K size=2.15MB
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|     parquet statistics predicates: d_year = CAST(2000 AS INT), d_dom = CAST(11 AS INT), d_moy = CAST(12 AS INT)
-|     parquet dictionary predicates: d_year = CAST(2000 AS INT), d_dom = CAST(11 AS INT), d_moy = CAST(12 AS INT)
-|     limit: 2
-|     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|     tuple-ids=20 row-size=16B cardinality=2 cost=270289
-|     in pipelines: 25(GETNEXT)
-|
-30:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
-|  hash-table-id=23
-|  hash predicates: ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=0,1,2 row-size=48B cardinality=2.88M cost=2880404
-|  in pipelines: 00(GETNEXT), 110(OPEN)
-|
-|--F80:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=8.96MB mem-reservation=8.75MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=3 segment-costs=[18608] cpu-comparison-result=43 [max(3 (self) vs 43 (sum children))]
-|  JOIN BUILD
-|  |  join-table-id=23 plan-id=24 cohort-id=01
-|  |  build expressions: tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  runtime filters: RF008[bloom] <- tpcds_partitioned_parquet_snap.item.i_item_sk, RF009[min_max] <- tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=17975
-|  |
-|  111:EXCHANGE [BROADCAST]
-|  |  mem-estimate=212.43KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=91 row-size=8B cardinality=17.98K cost=633
-|  |  in pipelines: 110(GETNEXT)
-|  |
-|  F16:PLAN FRAGMENT [HASH(tpcds_partitioned_parquet_snap.item.i_item_sk)] hosts=3 instances=6 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=10.12MB mem-reservation=1.94MB thread-reservation=1
-|  max-parallelism=6 segment-costs=[18186, 211] cpu-comparison-result=43 [max(6 (self) vs 43 (sum children))]
-|  110:AGGREGATE [FINALIZE]
-|  |  group by: tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=91 row-size=8B cardinality=17.98K cost=17975
-|  |  in pipelines: 110(GETNEXT), 97(OPEN)
-|  |
-|  109:EXCHANGE [HASH(tpcds_partitioned_parquet_snap.item.i_item_sk)]
-|  |  mem-estimate=118.81KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=91 row-size=8B cardinality=17.98K cost=211
-|  |  in pipelines: 97(GETNEXT)
-|  |
-|  F06:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=20.76MB mem-reservation=3.94MB thread-reservation=1
-|  max-parallelism=6 segment-costs=[448725, 1488000, 211] cpu-comparison-result=43 [max(6 (self) vs 43 (sum children))]
-|  29:AGGREGATE [STREAMING]
-|  |  group by: tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=91 row-size=8B cardinality=17.98K cost=148800
-|  |  in pipelines: 97(GETNEXT)
-|  |
-|  24:HASH JOIN [INNER JOIN, PARTITIONED]
-|  |  hash-table-id=24
-|  |  hash predicates: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
-|  |  fk/pk conjuncts: iss.i_brand_id = i_brand_id, iss.i_category_id = i_category_id, iss.i_class_id = i_class_id
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=7,3 row-size=32B cardinality=148.80K cost=446400
-|  |  in pipelines: 97(GETNEXT), 03(OPEN)
-|  |
-|  |--F81:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=4.30MB mem-reservation=3.94MB thread-reservation=1 runtime-filters-memory=2.00MB
-|  |  |  max-parallelism=6 segment-costs=[54422]
-|  |  JOIN BUILD
-|  |  |  join-table-id=24 plan-id=25 cohort-id=08
-|  |  |  build expressions: i_brand_id, i_category_id, i_class_id
-|  |  |  runtime filters: RF014[bloom] <- i_brand_id, RF015[bloom] <- i_category_id, RF017[min_max] <- i_brand_id, RF018[min_max] <- i_category_id, RF019[min_max] <- i_class_id
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=54000
-|  |  |
-|  |  108:EXCHANGE [HASH(i_brand_id,i_class_id,i_category_id)]
-|  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=3 row-size=20B cardinality=18.00K cost=422
-|  |  |  in pipelines: 03(GETNEXT)
-|  |  |
-|  |  F15:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.56MB mem-reservation=256.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[50774]
-|  |  03:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |     stored statistics:
-|  |       table: rows=18.00K size=1.73MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |     tuple-ids=3 row-size=20B cardinality=18.00K cost=50352
-|  |     in pipelines: 03(GETNEXT)
-|  |
-|  23:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
-|  |  hash-table-id=25
-|  |  hash predicates: iss.i_brand_id IS NOT DISTINCT FROM iws.i_brand_id, iss.i_category_id IS NOT DISTINCT FROM iws.i_category_id, iss.i_class_id IS NOT DISTINCT FROM iws.i_class_id
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=7 row-size=12B cardinality=148.80K cost=446400
-|  |  in pipelines: 97(GETNEXT), 106(OPEN)
-|  |
-|  |--F82:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=2.60MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  max-parallelism=6 segment-costs=[448725] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  JOIN BUILD
-|  |  |  join-table-id=25 plan-id=26 cohort-id=08
-|  |  |  build expressions: iws.i_brand_id, iws.i_category_id, iws.i_class_id
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=446400
-|  |  |
-|  |  107:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-|  |  |  mem-estimate=677.25KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=89 row-size=12B cardinality=148.80K cost=2325
-|  |  |  in pipelines: 106(GETNEXT)
-|  |  |
-|  |  F14:PLAN FRAGMENT [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=10.76MB mem-reservation=1.94MB thread-reservation=1
-|  |  max-parallelism=6 segment-costs=[448725, 2325] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  106:AGGREGATE [FINALIZE]
-|  |  |  group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
-|  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=89 row-size=12B cardinality=148.80K cost=446400
-|  |  |  in pipelines: 106(GETNEXT), 15(OPEN)
-|  |  |
-|  |  105:EXCHANGE [HASH(iws.i_brand_id,iws.i_class_id,iws.i_category_id)]
-|  |  |  mem-estimate=773.25KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=89 row-size=12B cardinality=148.80K cost=2325
-|  |  |  in pipelines: 15(GETNEXT)
-|  |  |
-|  |  F11:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=26.38MB mem-reservation=3.12MB thread-reservation=1
-|  |  max-parallelism=12 segment-costs=[94805352, 2325] cpu-comparison-result=12 [max(12 (self) vs 8 (sum children))]
-|  |  22:AGGREGATE [STREAMING]
-|  |  |  group by: iws.i_brand_id, iws.i_class_id, iws.i_category_id
-|  |  |  mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-|  |  |  tuple-ids=89 row-size=12B cardinality=148.80K cost=2158152
-|  |  |  in pipelines: 15(GETNEXT)
-|  |  |
-|  |  19:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=26
-|  |  |  hash predicates: ws_sold_date_sk = d3.d_date_sk
-|  |  |  fk/pk conjuncts: ws_sold_date_sk = d3.d_date_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=13,14,15 row-size=40B cardinality=719.38K cost=719384
-|  |  |  in pipelines: 15(GETNEXT), 17(OPEN)
-|  |  |
-|  |  |--F83:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=7.82MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=26 plan-id=27 cohort-id=09
-|  |  |  |  build expressions: d3.d_date_sk
-|  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |
-|  |  |  104:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=15 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  in pipelines: 17(GETNEXT)
-|  |  |  |
-|  |  |  F13: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=[196755]
-|  |  |  17:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim d3, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |     predicates: d3.d_year <= CAST(2001 AS INT), d3.d_year >= CAST(1999 AS INT)
-|  |  |     stored statistics:
-|  |  |       table: rows=73.05K size=2.15MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |     parquet statistics predicates: d3.d_year <= CAST(2001 AS INT), d3.d_year >= CAST(1999 AS INT)
-|  |  |     parquet dictionary predicates: d3.d_year <= CAST(2001 AS INT), d3.d_year >= CAST(1999 AS INT)
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=15 row-size=8B cardinality=7.30K cost=196669
-|  |  |     in pipelines: 17(GETNEXT)
-|  |  |
-|  |  18:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=27
-|  |  |  hash predicates: ws_item_sk = iws.i_item_sk
-|  |  |  fk/pk conjuncts: ws_item_sk = iws.i_item_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=13,14 row-size=32B cardinality=719.38K cost=719384
-|  |  |  in pipelines: 15(GETNEXT), 16(OPEN)
-|  |  |
-|  |  |--F84:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=8.12MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[19266]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=27 plan-id=28 cohort-id=09
-|  |  |  |  build expressions: iws.i_item_sk
-|  |  |  |  runtime filters: RF037[min_max] <- iws.i_item_sk
-|  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |  |
-|  |  |  103:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=14 row-size=20B cardinality=18.00K cost=1266
-|  |  |  |  in pipelines: 16(GETNEXT)
-|  |  |  |
-|  |  |  F12:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  Per-Instance Resources: mem-estimate=16.09MB mem-reservation=256.00KB thread-reservation=1
-|  |  |  max-parallelism=1 segment-costs=[50774]
-|  |  |  16:SCAN HDFS [tpcds_partitioned_parquet_snap.item iws, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |  |     stored statistics:
-|  |  |       table: rows=18.00K size=1.73MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |  |     tuple-ids=14 row-size=20B cardinality=18.00K cost=50352
-|  |  |     in pipelines: 16(GETNEXT)
-|  |  |
-|  |  15:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
-|  |     HDFS partitions=1824/1824 files=1824 size=84.20MB
-|  |     runtime filters: RF037[min_max] -> ws_item_sk
-|  |     stored statistics:
-|  |       table: rows=719.38K size=84.20MB
-|  |       partitions: 1824/1824 rows=719.38K
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=1.12K
-|  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |     tuple-ids=13 row-size=12B cardinality=719.38K cost=91208432
-|  |     in pipelines: 15(GETNEXT)
-|  |
-|  21:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
-|  |  hash-table-id=28
-|  |  hash predicates: iss.i_brand_id IS NOT DISTINCT FROM ics.i_brand_id, iss.i_category_id IS NOT DISTINCT FROM ics.i_category_id, iss.i_class_id IS NOT DISTINCT FROM ics.i_class_id
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=7 row-size=12B cardinality=148.80K cost=446400
-|  |  in pipelines: 97(GETNEXT), 101(OPEN)
-|  |
-|  |--F85:PLAN FRAGMENT [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=2.60MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  max-parallelism=6 segment-costs=[448725] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  JOIN BUILD
-|  |  |  join-table-id=28 plan-id=29 cohort-id=08
-|  |  |  build expressions: ics.i_brand_id, ics.i_category_id, ics.i_class_id
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=446400
-|  |  |
-|  |  102:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-|  |  |  mem-estimate=677.25KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=88 row-size=12B cardinality=148.80K cost=2325
-|  |  |  in pipelines: 101(GETNEXT)
-|  |  |
-|  |  F10:PLAN FRAGMENT [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=10.76MB mem-reservation=1.94MB thread-reservation=1
-|  |  max-parallelism=6 segment-costs=[448725, 2325] cpu-comparison-result=12 [max(6 (self) vs 12 (sum children))]
-|  |  101:AGGREGATE [FINALIZE]
-|  |  |  group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
-|  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=88 row-size=12B cardinality=148.80K cost=446400
-|  |  |  in pipelines: 101(GETNEXT), 10(OPEN)
-|  |  |
-|  |  100:EXCHANGE [HASH(ics.i_brand_id,ics.i_class_id,ics.i_category_id)]
-|  |  |  mem-estimate=773.25KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=88 row-size=12B cardinality=148.80K cost=2325
-|  |  |  in pipelines: 10(GETNEXT)
-|  |  |
-|  |  F07:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=26.38MB mem-reservation=5.12MB thread-reservation=1
-|  |  max-parallelism=12 segment-costs=[98774636, 2325] cpu-comparison-result=12 [max(12 (self) vs 8 (sum children))]
-|  |  20:AGGREGATE [STREAMING]
-|  |  |  group by: ics.i_brand_id, ics.i_class_id, ics.i_category_id
-|  |  |  mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-|  |  |  tuple-ids=88 row-size=12B cardinality=148.80K cost=4324644
-|  |  |  in pipelines: 10(GETNEXT)
-|  |  |
-|  |  14:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=29
-|  |  |  hash predicates: cs_sold_date_sk = d2.d_date_sk
-|  |  |  fk/pk conjuncts: cs_sold_date_sk = d2.d_date_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=9,10,11 row-size=40B cardinality=1.44M cost=1441548
-|  |  |  in pipelines: 10(GETNEXT), 12(OPEN)
-|  |  |
-|  |  |--F86:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=7.82MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=29 plan-id=30 cohort-id=10
-|  |  |  |  build expressions: d2.d_date_sk
-|  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |  |
-|  |  |  99:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=11 row-size=8B cardinality=7.30K cost=258
-|  |  |  |  in pipelines: 12(GETNEXT)
-|  |  |  |
-|  |  |  F09: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=[196755]
-|  |  |  12:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim d2, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |     predicates: d2.d_year <= CAST(2001 AS INT), d2.d_year >= CAST(1999 AS INT)
-|  |  |     stored statistics:
-|  |  |       table: rows=73.05K size=2.15MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |     parquet statistics predicates: d2.d_year <= CAST(2001 AS INT), d2.d_year >= CAST(1999 AS INT)
-|  |  |     parquet dictionary predicates: d2.d_year <= CAST(2001 AS INT), d2.d_year >= CAST(1999 AS INT)
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=11 row-size=8B cardinality=7.30K cost=196669
-|  |  |     in pipelines: 12(GETNEXT)
-|  |  |
-|  |  13:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=30
-|  |  |  hash predicates: cs_item_sk = ics.i_item_sk
-|  |  |  fk/pk conjuncts: cs_item_sk = ics.i_item_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=9,10 row-size=32B cardinality=1.44M cost=1441548
-|  |  |  in pipelines: 10(GETNEXT), 11(OPEN)
-|  |  |
-|  |  |--F87:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=8.12MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[19266]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=30 plan-id=31 cohort-id=10
-|  |  |  |  build expressions: ics.i_item_sk
-|  |  |  |  runtime filters: RF033[min_max] <- ics.i_item_sk
-|  |  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |  |
-|  |  |  98:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=10 row-size=20B cardinality=18.00K cost=1266
-|  |  |  |  in pipelines: 11(GETNEXT)
-|  |  |  |
-|  |  |  F08:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  Per-Instance Resources: mem-estimate=16.09MB mem-reservation=256.00KB thread-reservation=1
-|  |  |  max-parallelism=1 segment-costs=[50774]
-|  |  |  11:SCAN HDFS [tpcds_partitioned_parquet_snap.item ics, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |  |     stored statistics:
-|  |  |       table: rows=18.00K size=1.73MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |  |     tuple-ids=10 row-size=20B cardinality=18.00K cost=50352
-|  |  |     in pipelines: 11(GETNEXT)
-|  |  |
-|  |  10:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
-|  |     HDFS partitions=1831/1831 files=1831 size=151.13MB
-|  |     runtime filters: RF033[min_max] -> cs_item_sk
-|  |     stored statistics:
-|  |       table: rows=1.44M size=151.13MB
-|  |       partitions: 1831/1831 rows=1.44M
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=7.18K
-|  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |     tuple-ids=9 row-size=12B cardinality=1.44M cost=91566896
-|  |     in pipelines: 10(GETNEXT)
-|  |
-|  97:AGGREGATE [FINALIZE]
-|  |  group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
-|  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=7 row-size=12B cardinality=148.80K cost=446400
-|  |  in pipelines: 97(GETNEXT), 04(OPEN)
-|  |
-|  96:EXCHANGE [HASH(iss.i_brand_id,iss.i_class_id,iss.i_category_id)]
-|  |  mem-estimate=773.25KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=7 row-size=12B cardinality=148.80K cost=2325
-|  |  in pipelines: 04(GETNEXT)
-|  |
-|  F03:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=26.38MB mem-reservation=5.50MB thread-reservation=1
-|  max-parallelism=12 segment-costs=[105635772, 2325] cpu-comparison-result=12 [max(12 (self) vs 8 (sum children))]
-|  09:AGGREGATE [STREAMING]
-|  |  group by: iss.i_brand_id, iss.i_class_id, iss.i_category_id
-|  |  mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-|  |  tuple-ids=7 row-size=12B cardinality=148.80K cost=8641212
-|  |  in pipelines: 04(GETNEXT)
-|  |
-|  08:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=31
-|  |  hash predicates: ss_sold_date_sk = d1.d_date_sk
-|  |  fk/pk conjuncts: ss_sold_date_sk = d1.d_date_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=4,5,6 row-size=40B cardinality=2.88M cost=2880404
-|  |  in pipelines: 04(GETNEXT), 06(OPEN)
-|  |
-|  |--F88:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=7.82MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[7563]
-|  |  JOIN BUILD
-|  |  |  join-table-id=31 plan-id=32 cohort-id=08
-|  |  |  build expressions: d1.d_date_sk
-|  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |
-|  |  95:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=69.07KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=6 row-size=8B cardinality=7.30K cost=258
-|  |  |  in pipelines: 06(GETNEXT)
-|  |  |
-|  |  F05: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=[196755]
-|  |  06:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim d1, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |     predicates: d1.d_year <= CAST(2001 AS INT), d1.d_year >= CAST(1999 AS INT)
-|  |     stored statistics:
-|  |       table: rows=73.05K size=2.15MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |     parquet statistics predicates: d1.d_year <= CAST(2001 AS INT), d1.d_year >= CAST(1999 AS INT)
-|  |     parquet dictionary predicates: d1.d_year <= CAST(2001 AS INT), d1.d_year >= CAST(1999 AS INT)
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=6 row-size=8B cardinality=7.30K cost=196669
-|  |     in pipelines: 06(GETNEXT)
-|  |
-|  07:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=32
-|  |  hash predicates: ss_item_sk = iss.i_item_sk
-|  |  fk/pk conjuncts: ss_item_sk = iss.i_item_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=4,5 row-size=32B cardinality=2.88M cost=2880404
-|  |  in pipelines: 04(GETNEXT), 05(OPEN)
-|  |
-|  |--F89:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=8.12MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[19266]
-|  |  JOIN BUILD
-|  |  |  join-table-id=32 plan-id=33 cohort-id=08
-|  |  |  build expressions: iss.i_item_sk
-|  |  |  runtime filters: RF029[min_max] <- iss.i_item_sk
-|  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |
-|  |  94:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=5 row-size=20B cardinality=18.00K cost=1266
-|  |  |  in pipelines: 05(GETNEXT)
-|  |  |
-|  |  F04:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Host Shared Resources: mem-estimate=2.00MB mem-reservation=2.00MB thread-reservation=0 runtime-filters-memory=2.00MB
-|  |  Per-Instance Resources: mem-estimate=16.09MB mem-reservation=256.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[50774]
-|  |  05:SCAN HDFS [tpcds_partitioned_parquet_snap.item iss, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |     runtime filters: RF017[min_max] -> iss.i_brand_id, RF018[min_max] -> iss.i_category_id, RF019[min_max] -> iss.i_class_id, RF014[bloom] -> iss.i_brand_id, RF015[bloom] -> iss.i_category_id
-|  |     stored statistics:
-|  |       table: rows=18.00K size=1.73MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |     tuple-ids=5 row-size=20B cardinality=18.00K cost=50352
-|  |     in pipelines: 05(GETNEXT)
-|  |
-|  04:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|     runtime filters: RF029[min_max] -> ss_item_sk
-|     stored statistics:
-|       table: rows=2.88M size=199.36MB
-|       partitions: 1824/1824 rows=2.88M
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=130.09K
-|     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|     tuple-ids=4 row-size=12B cardinality=2.88M cost=91233752
-|     in pipelines: 04(GETNEXT)
-|
-28:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash-table-id=33
-|  hash predicates: ss_sold_date_sk = d_date_sk
-|  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-|  tuple-ids=0,1,2 row-size=48B cardinality=2.88M cost=2880404
-|  in pipelines: 00(GETNEXT), 02(OPEN)
-|
-|--F90:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=20.57MB mem-reservation=20.00MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=3 segment-costs=[75620]
-|  JOIN BUILD
-|  |  join-table-id=33 plan-id=34 cohort-id=01
-|  |  build expressions: d_date_sk
-|  |  runtime filters: RF010[bloom] <- d_date_sk
-|  |  mem-estimate=19.00MB mem-reservation=19.00MB spill-buffer=256.00KB thread-reservation=0 cost=73049
-|  |
-|  93:EXCHANGE [BROADCAST]
-|  |  mem-estimate=582.70KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=2 row-size=8B cardinality=73.05K cost=2571
-|  |  in pipelines: 02(GETNEXT)
-|  |
-|  F02:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
-|  Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
-|  max-parallelism=1 segment-costs=[51428]
-|  02:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|     HDFS partitions=1/1 files=1 size=2.15MB
-|     runtime filters: RF007[min_max] -> d_week_seq, RF006[bloom] -> d_week_seq
-|     stored statistics:
-|       table: rows=73.05K size=2.15MB
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|     tuple-ids=2 row-size=8B cardinality=73.05K cost=50571
-|     in pipelines: 02(GETNEXT)
-|
-27:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash-table-id=34
-|  hash predicates: ss_item_sk = i_item_sk
-|  fk/pk conjuncts: ss_item_sk = i_item_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=0,1 row-size=40B cardinality=2.88M cost=2880404
-|  in pipelines: 00(GETNEXT), 01(OPEN)
-|
-|--F91:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=9.12MB mem-reservation=8.75MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=3 segment-costs=[19266]
-|  JOIN BUILD
-|  |  join-table-id=34 plan-id=35 cohort-id=01
-|  |  build expressions: i_item_sk
-|  |  runtime filters: RF012[bloom] <- i_item_sk, RF013[min_max] <- i_item_sk
-|  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |
-|  92:EXCHANGE [BROADCAST]
-|  |  mem-estimate=375.56KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=1 row-size=20B cardinality=18.00K cost=1266
-|  |  in pipelines: 01(GETNEXT)
-|  |
-|  F01:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  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=16.09MB mem-reservation=256.00KB thread-reservation=1
-|  max-parallelism=1 segment-costs=[50774]
-|  01:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|     HDFS partitions=1/1 files=1 size=1.73MB
-|     runtime filters: RF003[min_max] -> tpcds_partitioned_parquet_snap.item.i_brand_id, RF004[min_max] -> tpcds_partitioned_parquet_snap.item.i_category_id, RF005[min_max] -> tpcds_partitioned_parquet_snap.item.i_class_id, RF009[min_max] -> tpcds_partitioned_parquet_snap.item.i_item_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.item.i_brand_id, RF001[bloom] -> tpcds_partitioned_parquet_snap.item.i_category_id, RF002[bloom] -> tpcds_partitioned_parquet_snap.item.i_class_id, RF008[bl [...]
-|     stored statistics:
-|       table: rows=18.00K size=1.73MB
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|     tuple-ids=1 row-size=20B cardinality=18.00K cost=50352
-|     in pipelines: 01(GETNEXT)
-|
-00:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-   HDFS partitions=1824/1824 files=1824 size=199.36MB
-   runtime filters: RF009[min_max] -> ss_item_sk, RF013[min_max] -> ss_item_sk, RF008[bloom] -> ss_item_sk, RF010[bloom] -> ss_sold_date_sk, RF012[bloom] -> ss_item_sk
-   stored statistics:
-     table: rows=2.88M size=199.36MB
-     partitions: 1824/1824 rows=2.88M
-     columns: all
-   extrapolated-rows=disabled max-scan-range-rows=130.09K
-   mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-   tuple-ids=0 row-size=20B cardinality=2.88M cost=91256256
-   in pipelines: 00(GETNEXT)
-====
-# TPCDS-Q23-1 First of two queries.
-with frequent_ss_items as
- (select substr(i_item_desc,1,30) itemdesc,i_item_sk item_sk,d_date solddate,count(*) cnt
-  from store_sales
-      ,date_dim
-      ,item
-  where ss_sold_date_sk = d_date_sk
-    and ss_item_sk = i_item_sk
-    and d_year in (2000,2000+1,2000+2,2000+3)
-  group by substr(i_item_desc,1,30),i_item_sk,d_date
-  having count(*) >4),
- max_store_sales as
- (select max(csales) tpcds_cmax
-  from (select c_customer_sk,sum(ss_quantity*ss_sales_price) csales
-        from store_sales
-            ,customer
-            ,date_dim
-        where ss_customer_sk = c_customer_sk
-         and ss_sold_date_sk = d_date_sk
-         and d_year in (2000,2000+1,2000+2,2000+3)
-        group by c_customer_sk) x),
- best_ss_customer as
- (select c_customer_sk,sum(ss_quantity*ss_sales_price) ssales
-  from store_sales
-      ,customer
-  where ss_customer_sk = c_customer_sk
-  group by c_customer_sk
-  having sum(ss_quantity*ss_sales_price) > (50/100.0) * (select
-  *
-from
- max_store_sales))
-  select  sum(sales)
- from (select cs_quantity*cs_list_price sales
-       from catalog_sales
-           ,date_dim
-       where d_year = 2000
-         and d_moy = 2
-         and cs_sold_date_sk = d_date_sk
-         and cs_item_sk in (select item_sk from frequent_ss_items)
-         and cs_bill_customer_sk in (select c_customer_sk from best_ss_customer)
-      union all
-      select ws_quantity*ws_list_price sales
-       from web_sales
-           ,date_dim
-       where d_year = 2000
-         and d_moy = 2
-         and ws_sold_date_sk = d_date_sk
-         and ws_item_sk in (select item_sk from frequent_ss_items)
-         and ws_bill_customer_sk in (select c_customer_sk from best_ss_customer)) y
- limit 100;
----- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=546.00MB Threads=80
-Per-Host Resource Estimates: Memory=1.36GB
-F31:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Instance Resources: mem-estimate=32.00KB mem-reservation=0B thread-reservation=1
-|  max-parallelism=1 segment-costs=[2, 0] cpu-comparison-result=84 [max(1 (self) vs 84 (sum children))]
-PLAN-ROOT SINK
-|  output exprs: sum(sales)
-|  mem-estimate=0B mem-reservation=0B thread-reservation=0 cost=0
-|
-89:AGGREGATE [FINALIZE]
-|  output: sum:merge(sales)
-|  limit: 100
-|  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  tuple-ids=46 row-size=16B cardinality=1 cost=1
-|  in pipelines: 89(GETNEXT), 49(OPEN)
-|
-88:EXCHANGE [UNPARTITIONED]
-|  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=46 row-size=16B cardinality=1 cost=1
-|  in pipelines: 49(GETNEXT)
-|
-F30:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-Per-Instance Resources: mem-estimate=10.93MB mem-reservation=1.94MB thread-reservation=1
-max-parallelism=12 segment-costs=[202344, 202344, 582875, 1] cpu-comparison-result=84 [max(12 (self) vs 84 (sum children))]
-49:AGGREGATE
-|  output: sum(sales)
-|  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  tuple-ids=46 row-size=16B cardinality=1 cost=127625
-|  in pipelines: 49(GETNEXT), 52(OPEN), 71(OPEN)
-|
-00:UNION
-|  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  tuple-ids=44 row-size=8B cardinality=127.62K cost=255250
-|  in pipelines: 52(GETNEXT), 71(GETNEXT)
-|
-|--48:HASH JOIN [RIGHT SEMI JOIN, PARTITIONED]
-|  |  hash-table-id=08
-|  |  hash predicates: c_customer_sk = ws_bill_customer_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=22,23 row-size=36B cardinality=42.60K cost=100000
-|  |  in pipelines: 71(GETNEXT), 25(OPEN)
-|  |
-|  |--F40:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=3.68MB mem-reservation=2.94MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=12 segment-costs=[44427] cpu-comparison-result=24 [max(24 (self) vs 13 (sum children))]
-|  |  JOIN BUILD
-|  |  |  join-table-id=08 plan-id=09 cohort-id=01
-|  |  |  build expressions: ws_bill_customer_sk
-|  |  |  runtime filters: RF016[bloom] <- ws_bill_customer_sk, RF017[min_max] <- ws_bill_customer_sk
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=42596
-|  |  |
-|  |  87:EXCHANGE [HASH(ws_bill_customer_sk)]
-|  |  |  mem-estimate=763.17KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=22,23 row-size=36B cardinality=42.60K cost=1831
-|  |  |  in pipelines: 25(GETNEXT)
-|  |  |
-|  |  F29:PLAN FRAGMENT [HASH(i_item_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=2.81MB mem-reservation=0B thread-reservation=1
-|  |  max-parallelism=6 segment-costs=[46258]
-|  |  47:HASH JOIN [LEFT SEMI JOIN, PARTITIONED]
-|  |  |  hash-table-id=09
-|  |  |  hash predicates: ws_item_sk = i_item_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=22,23 row-size=36B cardinality=42.60K cost=42596
-|  |  |  in pipelines: 25(GETNEXT), 85(OPEN)
-|  |  |
-|  |  |--F41:PLAN FRAGMENT [HASH(i_item_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  |  Per-Instance Resources: mem-estimate=11.94MB mem-reservation=3.88MB thread-reservation=1
-|  |  |  |  max-parallelism=6 segment-costs=[18186, 17975] cpu-comparison-result=9 [max(6 (self) vs 9 (sum children))]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=09 plan-id=10 cohort-id=05
-|  |  |  |  build expressions: i_item_sk
-|  |  |  |  runtime filters: RF025[min_max] <- i_item_sk
-|  |  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=17975
-|  |  |  |
-|  |  |  85:AGGREGATE [FINALIZE]
-|  |  |  |  group by: i_item_sk
-|  |  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=68 row-size=8B cardinality=17.98K cost=17975
-|  |  |  |  in pipelines: 85(GETNEXT), 83(OPEN)
-|  |  |  |
-|  |  |  84:EXCHANGE [HASH(i_item_sk)]
-|  |  |  |  mem-estimate=118.81KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=68 row-size=8B cardinality=17.98K cost=211
-|  |  |  |  in pipelines: 83(GETNEXT)
-|  |  |  |
-|  |  |  F28:PLAN FRAGMENT [HASH(substr(i_item_desc, 1, 30),i_item_sk,d_date)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=54.47MB mem-reservation=36.00MB thread-reservation=1
-|  |  |  max-parallelism=6 segment-costs=[9542330, 235454, 211] cpu-comparison-result=9 [max(6 (self) vs 9 (sum children))]
-|  |  |  46:AGGREGATE [STREAMING]
-|  |  |  |  group by: i_item_sk
-|  |  |  |  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=68 row-size=8B cardinality=17.98K cost=235454
-|  |  |  |  in pipelines: 83(GETNEXT)
-|  |  |  |
-|  |  |  83:AGGREGATE [FINALIZE]
-|  |  |  |  output: count:merge(*)
-|  |  |  |  group by: substr(i_item_desc, 1, 30), i_item_sk, d_date
-|  |  |  |  having: count(*) > CAST(4 AS BIGINT)
-|  |  |  |  mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-|  |  |  |  tuple-ids=27 row-size=50B cardinality=235.45K cost=9418164
-|  |  |  |  in pipelines: 83(GETNEXT), 27(OPEN)
-|  |  |  |
-|  |  |  82:EXCHANGE [HASH(substr(i_item_desc, 1, 30),i_item_sk,d_date)]
-|  |  |  |  mem-estimate=10.47MB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=27 row-size=50B cardinality=2.35M cost=124166
-|  |  |  |  in pipelines: 27(GETNEXT)
-|  |  |  |
-|  |  |  F25:PLAN FRAGMENT [RANDOM] hosts=3 instances=9 (adjusted from 48)
-|  |  |  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=34.27MB mem-reservation=17.50MB thread-reservation=1
-|  |  |  max-parallelism=9 segment-costs=[88704838, 124166] cpu-comparison-result=9 [max(9 (self) vs 8 (sum children))]
-|  |  |  32:AGGREGATE [STREAMING]
-|  |  |  |  output: count(*)
-|  |  |  |  group by: substr(i_item_desc, CAST(1 AS BIGINT), CAST(30 AS BIGINT)), i_item_sk, d_date
-|  |  |  |  mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
-|  |  |  |  tuple-ids=27 row-size=50B cardinality=2.35M cost=9418164
-|  |  |  |  in pipelines: 27(GETNEXT)
-|  |  |  |
-|  |  |  31:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=10
-|  |  |  |  hash predicates: ss_item_sk = i_item_sk
-|  |  |  |  fk/pk conjuncts: ss_item_sk = i_item_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-|  |  |  |  tuple-ids=24,25,26 row-size=162B cardinality=2.35M cost=2354541
-|  |  |  |  in pipelines: 27(GETNEXT), 29(OPEN)
-|  |  |  |
-|  |  |  |--F42:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=16.44MB mem-reservation=14.25MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[24564]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=10 plan-id=11 cohort-id=06
-|  |  |  |  |  build expressions: i_item_sk
-|  |  |  |  |  runtime filters: RF029[min_max] <- i_item_sk
-|  |  |  |  |  mem-estimate=14.25MB mem-reservation=14.25MB spill-buffer=256.00KB thread-reservation=0 cost=18000
-|  |  |  |  |
-|  |  |  |  81:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=2.19MB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=26 row-size=120B cardinality=18.00K cost=6564
-|  |  |  |  |  in pipelines: 29(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F27:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  |  Per-Instance Resources: mem-estimate=16.49MB mem-reservation=2.00MB thread-reservation=1
-|  |  |  |  max-parallelism=1 segment-costs=[54306]
-|  |  |  |  29:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=18.00K size=1.73MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |  |  |     mem-estimate=16.00MB mem-reservation=2.00MB thread-reservation=0
-|  |  |  |     tuple-ids=26 row-size=120B cardinality=18.00K cost=52118
-|  |  |  |     in pipelines: 29(GETNEXT)
-|  |  |  |
-|  |  |  30:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=11
-|  |  |  |  hash predicates: ss_sold_date_sk = d_date_sk
-|  |  |  |  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=24,25 row-size=42B cardinality=2.35M cost=2354541
-|  |  |  |  in pipelines: 27(GETNEXT), 28(OPEN)
-|  |  |  |
-|  |  |  |--F43:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=6.89MB mem-reservation=6.81MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  |  |  max-parallelism=3 segment-costs=[1641]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=11 plan-id=12 cohort-id=06
-|  |  |  |  |  build expressions: d_date_sk
-|  |  |  |  |  runtime filters: RF030[bloom] <- d_date_sk
-|  |  |  |  |  mem-estimate=5.81MB mem-reservation=5.81MB spill-buffer=64.00KB thread-reservation=0 cost=1491
-|  |  |  |  |
-|  |  |  |  80:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=77.68KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=25 row-size=30B cardinality=1.49K cost=150
-|  |  |  |  |  in pipelines: 28(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F26:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  |  Per-Instance Resources: mem-estimate=16.13MB mem-reservation=2.00MB thread-reservation=1
-|  |  |  |  max-parallelism=1 segment-costs=[125240]
-|  |  |  |  28:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |  |     predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=73.05K size=2.15MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |  |     parquet statistics predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |  |  |     parquet dictionary predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |  |  |     mem-estimate=16.00MB mem-reservation=2.00MB thread-reservation=0
-|  |  |  |     tuple-ids=25 row-size=30B cardinality=1.49K cost=125190
-|  |  |  |     in pipelines: 28(GETNEXT)
-|  |  |  |
-|  |  |  27:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|  |  |     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|  |  |     runtime filters: RF029[min_max] -> ss_item_sk, RF030[bloom] -> ss_sold_date_sk
-|  |  |     stored statistics:
-|  |  |       table: rows=2.88M size=199.36MB
-|  |  |       partitions: 1824/1824 rows=2.88M
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=130.09K est-scan-range=1491(filtered from 1824)
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=24 row-size=12B cardinality=2.35M(filtered from 2.88M) cost=74577592
-|  |  |     in pipelines: 27(GETNEXT)
-|  |  |
-|  |  86:EXCHANGE [HASH(ws_item_sk)]
-|  |  |  mem-estimate=763.17KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=22,23 row-size=36B cardinality=42.60K cost=1831
-|  |  |  in pipelines: 25(GETNEXT)
-|  |  |
-|  |  F23:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
-|  |  Per-Instance Resources: mem-estimate=17.03MB mem-reservation=128.00KB thread-reservation=1
-|  |  max-parallelism=6 segment-costs=[5495426]
-|  |  45:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=12
-|  |  |  hash predicates: ws_sold_date_sk = d_date_sk
-|  |  |  fk/pk conjuncts: ws_sold_date_sk = d_date_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=22,23 row-size=36B cardinality=42.60K cost=42596
-|  |  |  in pipelines: 25(GETNEXT), 26(OPEN)
-|  |  |
-|  |  |--F44:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=4.89MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  |  max-parallelism=3 segment-costs=[114]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=12 plan-id=13 cohort-id=05
-|  |  |  |  build expressions: d_date_sk
-|  |  |  |  runtime filters: RF026[bloom] <- d_date_sk
-|  |  |  |  mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0 cost=108
-|  |  |  |
-|  |  |  79:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=23 row-size=12B cardinality=108 cost=6
-|  |  |  |  in pipelines: 26(GETNEXT)
-|  |  |  |
-|  |  |  F24: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=[196957]
-|  |  |  26:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |     predicates: d_year = CAST(2000 AS INT), d_moy = CAST(2 AS INT)
-|  |  |     stored statistics:
-|  |  |       table: rows=73.05K size=2.15MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |     parquet statistics predicates: d_year = CAST(2000 AS INT), d_moy = CAST(2 AS INT)
-|  |  |     parquet dictionary predicates: d_year = CAST(2000 AS INT), d_moy = CAST(2 AS INT)
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=23 row-size=12B cardinality=108 cost=196955
-|  |  |     in pipelines: 26(GETNEXT)
-|  |  |
-|  |  25:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
-|  |     HDFS partitions=1824/1824 files=1824 size=84.20MB
-|  |     runtime filters: RF025[min_max] -> ws_item_sk, RF026[bloom] -> ws_sold_date_sk
-|  |     stored statistics:
-|  |       table: rows=719.38K size=84.20MB
-|  |       partitions: 1824/1824 rows=719.38K
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=1.12K est-scan-range=109(filtered from 1824)
-|  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |     tuple-ids=22 row-size=24B cardinality=42.60K(filtered from 719.38K) cost=5450999
-|  |     in pipelines: 25(GETNEXT)
-|  |
-|  44:NESTED LOOP JOIN [INNER JOIN, BROADCAST]
-|  |  join table id: 13
-|  |  predicates: sum(ss_quantity * ss_sales_price) > CAST(0.500000 AS DECIMAL(10,6)) * max(csales)
-|  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=32,39 row-size=36B cardinality=100.00K cost=0
-|  |  in pipelines: 71(GETNEXT), 77(OPEN)
-|  |
-|  |--F45:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=16.02KB mem-reservation=0B thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[3] cpu-comparison-result=9 [max(3 (self) vs 9 (sum children))]
-|  |  JOIN BUILD
-|  |  |  join-table-id=13 plan-id=14 cohort-id=01
-|  |  |  mem-estimate=16B mem-reservation=0B thread-reservation=0 cost=0
-|  |  |
-|  |  78:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=39 row-size=16B cardinality=1 cost=3
-|  |  |  in pipelines: 77(GETNEXT)
-|  |  |
-|  |  F22:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=96.00KB mem-reservation=0B thread-reservation=1
-|  |  max-parallelism=2 segment-costs=[2, 1] cpu-comparison-result=9 [max(2 (self) vs 9 (sum children))]
-|  |  77:AGGREGATE [FINALIZE]
-|  |  |  output: max:merge(csales)
-|  |  |  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  |  |  tuple-ids=39 row-size=16B cardinality=1 cost=1
-|  |  |  in pipelines: 77(GETNEXT), 43(OPEN)
-|  |  |
-|  |  76:EXCHANGE [UNPARTITIONED]
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=39 row-size=16B cardinality=1 cost=1
-|  |  |  in pipelines: 43(GETNEXT)
-|  |  |
-|  |  F21:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=10.85MB mem-reservation=1.94MB thread-reservation=1
-|  |  max-parallelism=6 segment-costs=[202344, 100000, 1] cpu-comparison-result=9 [max(6 (self) vs 9 (sum children))]
-|  |  43:AGGREGATE
-|  |  |  output: max(sum(ss_quantity * ss_sales_price))
-|  |  |  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  |  |  tuple-ids=39 row-size=16B cardinality=1 cost=100000
-|  |  |  in pipelines: 43(GETNEXT), 75(OPEN)
-|  |  |
-|  |  75:AGGREGATE [FINALIZE]
-|  |  |  output: sum:merge(ss_quantity * ss_sales_price)
-|  |  |  group by: c_customer_sk
-|  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=37 row-size=20B cardinality=100.00K cost=200000
-|  |  |  in pipelines: 75(GETNEXT), 37(OPEN)
-|  |  |
-|  |  74:EXCHANGE [HASH(c_customer_sk)]
-|  |  |  mem-estimate=867.04KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=37 row-size=20B cardinality=100.00K cost=2344
-|  |  |  in pipelines: 37(GETNEXT)
-|  |  |
-|  |  F18:PLAN FRAGMENT [RANDOM] hosts=3 instances=9 (adjusted from 48)
-|  |  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=26.56MB mem-reservation=6.00MB thread-reservation=1
-|  |  max-parallelism=9 segment-costs=[84004956, 2344] cpu-comparison-result=9 [max(9 (self) vs 8 (sum children))]
-|  |  42:AGGREGATE [STREAMING]
-|  |  |  output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price)
-|  |  |  group by: c_customer_sk
-|  |  |  mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-|  |  |  tuple-ids=37 row-size=20B cardinality=100.00K cost=4709082
-|  |  |  in pipelines: 37(GETNEXT)
-|  |  |
-|  |  41:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=14
-|  |  |  hash predicates: ss_customer_sk = c_customer_sk
-|  |  |  fk/pk conjuncts: ss_customer_sk = c_customer_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-|  |  |  tuple-ids=34,36,35 row-size=28B cardinality=2.35M cost=2354541
-|  |  |  in pipelines: 37(GETNEXT), 38(OPEN)
-|  |  |
-|  |  |--F46:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=14.64MB mem-reservation=14.25MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[102346]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=14 plan-id=15 cohort-id=07
-|  |  |  |  build expressions: c_customer_sk
-|  |  |  |  runtime filters: RF021[min_max] <- c_customer_sk
-|  |  |  |  mem-estimate=14.25MB mem-reservation=14.25MB spill-buffer=256.00KB thread-reservation=0 cost=100000
-|  |  |  |
-|  |  |  73:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=398.62KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=35 row-size=4B cardinality=100.00K cost=2346
-|  |  |  |  in pipelines: 38(GETNEXT)
-|  |  |  |
-|  |  |  F20:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  Per-Instance Resources: mem-estimate=16.03MB mem-reservation=512.00KB thread-reservation=1
-|  |  |  max-parallelism=1 segment-costs=[51173]
-|  |  |  38:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=5.49MB
-|  |  |     stored statistics:
-|  |  |       table: rows=100.00K size=5.49MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=100.00K
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=35 row-size=4B cardinality=100.00K cost=50391
-|  |  |     in pipelines: 38(GETNEXT)
-|  |  |
-|  |  40:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=15
-|  |  |  hash predicates: ss_sold_date_sk = d_date_sk
-|  |  |  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=34,36 row-size=24B cardinality=2.35M cost=2354541
-|  |  |  in pipelines: 37(GETNEXT), 39(OPEN)
-|  |  |
-|  |  |--F47:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=6.84MB mem-reservation=6.81MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  |  max-parallelism=3 segment-costs=[1545]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=15 plan-id=16 cohort-id=07
-|  |  |  |  build expressions: d_date_sk
-|  |  |  |  runtime filters: RF022[bloom] <- d_date_sk
-|  |  |  |  mem-estimate=5.81MB mem-reservation=5.81MB spill-buffer=64.00KB thread-reservation=0 cost=1491
-|  |  |  |
-|  |  |  72:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=23.65KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=36 row-size=8B cardinality=1.49K cost=54
-|  |  |  |  in pipelines: 39(GETNEXT)
-|  |  |  |
-|  |  |  F19: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=[123638]
-|  |  |  39:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |     predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |  |     stored statistics:
-|  |  |       table: rows=73.05K size=2.15MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |     parquet statistics predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |  |     parquet dictionary predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=36 row-size=8B cardinality=1.49K cost=123620
-|  |  |     in pipelines: 39(GETNEXT)
-|  |  |
-|  |  37:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|  |     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|  |     runtime filters: RF021[min_max] -> ss_customer_sk, RF022[bloom] -> ss_sold_date_sk
-|  |     stored statistics:
-|  |       table: rows=2.88M size=199.36MB
-|  |       partitions: 1824/1824 rows=2.88M
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=130.09K est-scan-range=1491(filtered from 1824)
-|  |     mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-|  |     tuple-ids=34 row-size=16B cardinality=2.35M(filtered from 2.88M) cost=74586792
-|  |     in pipelines: 37(GETNEXT)
-|  |
-|  71:AGGREGATE [FINALIZE]
-|  |  output: sum:merge(ss_quantity * ss_sales_price)
-|  |  group by: c_customer_sk
-|  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=32 row-size=20B cardinality=100.00K cost=200000
-|  |  in pipelines: 71(GETNEXT), 33(OPEN)
-|  |
-|  70:EXCHANGE [HASH(c_customer_sk)]
-|  |  mem-estimate=939.04KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=32 row-size=20B cardinality=100.00K cost=2344
-|  |  in pipelines: 33(GETNEXT)
-|  |
-|  F15:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  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.12MB mem-reservation=6.00MB thread-reservation=1
-|  max-parallelism=12 segment-costs=[99874964, 2344] cpu-comparison-result=12 [max(12 (self) vs 4 (sum children))]
-|  36:AGGREGATE [STREAMING]
-|  |  output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price)
-|  |  group by: c_customer_sk
-|  |  mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-|  |  tuple-ids=32 row-size=20B cardinality=100.00K cost=5760808
-|  |  in pipelines: 33(GETNEXT)
-|  |
-|  35:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=17
-|  |  hash predicates: ss_customer_sk = c_customer_sk
-|  |  fk/pk conjuncts: ss_customer_sk = c_customer_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-|  |  tuple-ids=30,31 row-size=16B cardinality=2.88M cost=2880404
-|  |  in pipelines: 33(GETNEXT), 34(OPEN)
-|  |
-|  |--F49:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=19.39MB mem-reservation=19.00MB thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[102346]
-|  |  JOIN BUILD
-|  |  |  join-table-id=17 plan-id=18 cohort-id=01
-|  |  |  build expressions: c_customer_sk
-|  |  |  runtime filters: RF019[min_max] <- c_customer_sk
-|  |  |  mem-estimate=19.00MB mem-reservation=19.00MB spill-buffer=256.00KB thread-reservation=0 cost=100000
-|  |  |
-|  |  69:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=398.62KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=31 row-size=4B cardinality=100.00K cost=2346
-|  |  |  in pipelines: 34(GETNEXT)
-|  |  |
-|  |  F16:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
-|  |  Per-Instance Resources: mem-estimate=16.03MB mem-reservation=512.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[51173]
-|  |  34:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=5.49MB
-|  |     runtime filters: RF017[min_max] -> tpcds_partitioned_parquet_snap.customer.c_customer_sk, RF016[bloom] -> tpcds_partitioned_parquet_snap.customer.c_customer_sk
-|  |     stored statistics:
-|  |       table: rows=100.00K size=5.49MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=100.00K
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=31 row-size=4B cardinality=100.00K cost=50391
-|  |     in pipelines: 34(GETNEXT)
-|  |
-|  33:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|     runtime filters: RF017[min_max] -> tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk, RF019[min_max] -> ss_customer_sk, RF016[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk
-|     stored statistics:
-|       table: rows=2.88M size=199.36MB
-|       partitions: 1824/1824 rows=2.88M
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=130.09K
-|     mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-|     tuple-ids=30 row-size=12B cardinality=2.88M cost=91233752
-|     in pipelines: 33(GETNEXT)
-|
-24:HASH JOIN [RIGHT SEMI JOIN, PARTITIONED]
-|  hash-table-id=00
-|  hash predicates: c_customer_sk = cs_bill_customer_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=0,1 row-size=36B cardinality=85.03K cost=100000
-|  in pipelines: 52(GETNEXT), 01(OPEN)
-|
-|--F32:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=4.17MB mem-reservation=2.94MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=12 segment-costs=[88683] cpu-comparison-result=18 [max(18 (self) vs 13 (sum children))]
-|  JOIN BUILD
-|  |  join-table-id=00 plan-id=01 cohort-id=01
-|  |  build expressions: cs_bill_customer_sk
-|  |  runtime filters: RF000[bloom] <- cs_bill_customer_sk, RF001[min_max] <- cs_bill_customer_sk
-|  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=85029
-|  |
-|  68:EXCHANGE [HASH(cs_bill_customer_sk)]
-|  |  mem-estimate=1.23MB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=0,1 row-size=36B cardinality=85.03K cost=3654
-|  |  in pipelines: 01(GETNEXT)
-|  |
-|  F08:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
-|  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=18.06MB mem-reservation=128.00KB thread-reservation=1
-|  max-parallelism=6 segment-costs=[5625705]
-|  23:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
-|  |  hash-table-id=01
-|  |  hash predicates: cs_item_sk = i_item_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=0,1 row-size=36B cardinality=85.03K cost=85029
-|  |  in pipelines: 01(GETNEXT), 66(OPEN)
-|  |
-|  |--F33:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=4.08MB mem-reservation=3.88MB thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[18608] cpu-comparison-result=9 [max(3 (self) vs 9 (sum children))]
-|  |  JOIN BUILD
-|  |  |  join-table-id=01 plan-id=02 cohort-id=02
-|  |  |  build expressions: i_item_sk
-|  |  |  runtime filters: RF009[min_max] <- i_item_sk
-|  |  |  mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0 cost=17975
-|  |  |
-|  |  67:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=212.43KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=57 row-size=8B cardinality=17.98K cost=633
-|  |  |  in pipelines: 66(GETNEXT)
-|  |  |
-|  |  F14:PLAN FRAGMENT [HASH(i_item_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=10.12MB mem-reservation=1.94MB thread-reservation=1
-|  |  max-parallelism=6 segment-costs=[18186, 211] cpu-comparison-result=9 [max(6 (self) vs 9 (sum children))]
-|  |  66:AGGREGATE [FINALIZE]
-|  |  |  group by: i_item_sk
-|  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=57 row-size=8B cardinality=17.98K cost=17975
-|  |  |  in pipelines: 66(GETNEXT), 64(OPEN)
-|  |  |
-|  |  65:EXCHANGE [HASH(i_item_sk)]
-|  |  |  mem-estimate=118.81KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=57 row-size=8B cardinality=17.98K cost=211
-|  |  |  in pipelines: 64(GETNEXT)
-|  |  |
-|  |  F13:PLAN FRAGMENT [HASH(substr(i_item_desc, 1, 30),i_item_sk,d_date)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=54.47MB mem-reservation=36.00MB thread-reservation=1
-|  |  max-parallelism=6 segment-costs=[9542330, 235454, 211] cpu-comparison-result=9 [max(6 (self) vs 9 (sum children))]
-|  |  22:AGGREGATE [STREAMING]
-|  |  |  group by: i_item_sk
-|  |  |  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=57 row-size=8B cardinality=17.98K cost=235454
-|  |  |  in pipelines: 64(GETNEXT)
-|  |  |
-|  |  64:AGGREGATE [FINALIZE]
-|  |  |  output: count:merge(*)
-|  |  |  group by: substr(i_item_desc, 1, 30), i_item_sk, d_date
-|  |  |  having: count(*) > CAST(4 AS BIGINT)
-|  |  |  mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-|  |  |  tuple-ids=5 row-size=50B cardinality=235.45K cost=9418164
-|  |  |  in pipelines: 64(GETNEXT), 03(OPEN)
-|  |  |
-|  |  63:EXCHANGE [HASH(substr(i_item_desc, 1, 30),i_item_sk,d_date)]
-|  |  |  mem-estimate=10.47MB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=5 row-size=50B cardinality=2.35M cost=124166
-|  |  |  in pipelines: 03(GETNEXT)
-|  |  |
-|  |  F10:PLAN FRAGMENT [RANDOM] hosts=3 instances=9 (adjusted from 48)
-|  |  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=34.27MB mem-reservation=17.50MB thread-reservation=1
-|  |  max-parallelism=9 segment-costs=[88704838, 124166] cpu-comparison-result=9 [max(9 (self) vs 8 (sum children))]
-|  |  08:AGGREGATE [STREAMING]
-|  |  |  output: count(*)
-|  |  |  group by: substr(i_item_desc, CAST(1 AS BIGINT), CAST(30 AS BIGINT)), i_item_sk, d_date
-|  |  |  mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
-|  |  |  tuple-ids=5 row-size=50B cardinality=2.35M cost=9418164
-|  |  |  in pipelines: 03(GETNEXT)
-|  |  |
-|  |  07:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=02
-|  |  |  hash predicates: ss_item_sk = i_item_sk
-|  |  |  fk/pk conjuncts: ss_item_sk = i_item_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-|  |  |  tuple-ids=2,3,4 row-size=162B cardinality=2.35M cost=2354541
-|  |  |  in pipelines: 03(GETNEXT), 05(OPEN)
-|  |  |
-|  |  |--F34:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=16.44MB mem-reservation=14.25MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[24564]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=02 plan-id=03 cohort-id=03
-|  |  |  |  build expressions: i_item_sk
-|  |  |  |  runtime filters: RF013[min_max] <- i_item_sk
-|  |  |  |  mem-estimate=14.25MB mem-reservation=14.25MB spill-buffer=256.00KB thread-reservation=0 cost=18000
-|  |  |  |
-|  |  |  62:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=2.19MB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=4 row-size=120B cardinality=18.00K cost=6564
-|  |  |  |  in pipelines: 05(GETNEXT)
-|  |  |  |
-|  |  |  F12:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  Per-Instance Resources: mem-estimate=16.49MB mem-reservation=2.00MB thread-reservation=1
-|  |  |  max-parallelism=1 segment-costs=[54306]
-|  |  |  05:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |  |     stored statistics:
-|  |  |       table: rows=18.00K size=1.73MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |  |     mem-estimate=16.00MB mem-reservation=2.00MB thread-reservation=0
-|  |  |     tuple-ids=4 row-size=120B cardinality=18.00K cost=52118
-|  |  |     in pipelines: 05(GETNEXT)
-|  |  |
-|  |  06:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=03
-|  |  |  hash predicates: ss_sold_date_sk = d_date_sk
-|  |  |  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=2,3 row-size=42B cardinality=2.35M cost=2354541
-|  |  |  in pipelines: 03(GETNEXT), 04(OPEN)
-|  |  |
-|  |  |--F35:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=6.89MB mem-reservation=6.81MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  |  max-parallelism=3 segment-costs=[1641]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=03 plan-id=04 cohort-id=03
-|  |  |  |  build expressions: d_date_sk
-|  |  |  |  runtime filters: RF014[bloom] <- d_date_sk
-|  |  |  |  mem-estimate=5.81MB mem-reservation=5.81MB spill-buffer=64.00KB thread-reservation=0 cost=1491
-|  |  |  |
-|  |  |  61:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=77.68KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=3 row-size=30B cardinality=1.49K cost=150
-|  |  |  |  in pipelines: 04(GETNEXT)
-|  |  |  |
-|  |  |  F11:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  Per-Instance Resources: mem-estimate=16.13MB mem-reservation=2.00MB thread-reservation=1
-|  |  |  max-parallelism=1 segment-costs=[125240]
-|  |  |  04:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |     predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |  |     stored statistics:
-|  |  |       table: rows=73.05K size=2.15MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |     parquet statistics predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |  |     parquet dictionary predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |  |     mem-estimate=16.00MB mem-reservation=2.00MB thread-reservation=0
-|  |  |     tuple-ids=3 row-size=30B cardinality=1.49K cost=125190
-|  |  |     in pipelines: 04(GETNEXT)
-|  |  |
-|  |  03:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|  |     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|  |     runtime filters: RF013[min_max] -> ss_item_sk, RF014[bloom] -> ss_sold_date_sk
-|  |     stored statistics:
-|  |       table: rows=2.88M size=199.36MB
-|  |       partitions: 1824/1824 rows=2.88M
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=130.09K est-scan-range=1491(filtered from 1824)
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=2 row-size=12B cardinality=2.35M(filtered from 2.88M) cost=74577592
-|  |     in pipelines: 03(GETNEXT)
-|  |
-|  21:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=04
-|  |  hash predicates: cs_sold_date_sk = d_date_sk
-|  |  fk/pk conjuncts: cs_sold_date_sk = d_date_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=0,1 row-size=36B cardinality=85.03K cost=85029
-|  |  in pipelines: 01(GETNEXT), 02(OPEN)
-|  |
-|  |--F36:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=4.89MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=3 segment-costs=[114]
-|  |  JOIN BUILD
-|  |  |  join-table-id=04 plan-id=05 cohort-id=02
-|  |  |  build expressions: d_date_sk
-|  |  |  runtime filters: RF010[bloom] <- d_date_sk
-|  |  |  mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0 cost=108
-|  |  |
-|  |  60:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=1 row-size=12B cardinality=108 cost=6
-|  |  |  in pipelines: 02(GETNEXT)
-|  |  |
-|  |  F09: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=[196957]
-|  |  02:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |     predicates: d_year = CAST(2000 AS INT), d_moy = CAST(2 AS INT)
-|  |     stored statistics:
-|  |       table: rows=73.05K size=2.15MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |     parquet statistics predicates: d_year = CAST(2000 AS INT), d_moy = CAST(2 AS INT)
-|  |     parquet dictionary predicates: d_year = CAST(2000 AS INT), d_moy = CAST(2 AS INT)
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=1 row-size=12B cardinality=108 cost=196955
-|  |     in pipelines: 02(GETNEXT)
-|  |
-|  01:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
-|     HDFS partitions=1831/1831 files=1831 size=151.13MB
-|     runtime filters: RF009[min_max] -> cs_item_sk, RF010[bloom] -> cs_sold_date_sk
-|     stored statistics:
-|       table: rows=1.44M size=151.13MB
-|       partitions: 1831/1831 rows=1.44M
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=7.18K est-scan-range=109(filtered from 1831)
-|     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|     tuple-ids=0 row-size=24B cardinality=85.03K(filtered from 1.44M) cost=5451993
-|     in pipelines: 01(GETNEXT)
-|
-20:NESTED LOOP JOIN [INNER JOIN, BROADCAST]
-|  join table id: 05
-|  predicates: sum(ss_quantity * ss_sales_price) > CAST(0.500000 AS DECIMAL(10,6)) * max(csales)
-|  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  tuple-ids=10,17 row-size=36B cardinality=100.00K cost=0
-|  in pipelines: 52(GETNEXT), 58(OPEN)
-|
-|--F37:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=16.02KB mem-reservation=0B thread-reservation=1
-|  |  max-parallelism=3 segment-costs=[3] cpu-comparison-result=9 [max(3 (self) vs 9 (sum children))]
-|  JOIN BUILD
-|  |  join-table-id=05 plan-id=06 cohort-id=01
-|  |  mem-estimate=16B mem-reservation=0B thread-reservation=0 cost=0
-|  |
-|  59:EXCHANGE [BROADCAST]
-|  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=17 row-size=16B cardinality=1 cost=3
-|  |  in pipelines: 58(GETNEXT)
-|  |
-|  F07:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Instance Resources: mem-estimate=96.00KB mem-reservation=0B thread-reservation=1
-|  max-parallelism=2 segment-costs=[2, 1] cpu-comparison-result=9 [max(2 (self) vs 9 (sum children))]
-|  58:AGGREGATE [FINALIZE]
-|  |  output: max:merge(csales)
-|  |  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  |  tuple-ids=17 row-size=16B cardinality=1 cost=1
-|  |  in pipelines: 58(GETNEXT), 19(OPEN)
-|  |
-|  57:EXCHANGE [UNPARTITIONED]
-|  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=17 row-size=16B cardinality=1 cost=1
-|  |  in pipelines: 19(GETNEXT)
-|  |
-|  F06:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=6 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=10.85MB mem-reservation=1.94MB thread-reservation=1
-|  max-parallelism=6 segment-costs=[202344, 100000, 1] cpu-comparison-result=9 [max(6 (self) vs 9 (sum children))]
-|  19:AGGREGATE
-|  |  output: max(sum(ss_quantity * ss_sales_price))
-|  |  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  |  tuple-ids=17 row-size=16B cardinality=1 cost=100000
-|  |  in pipelines: 19(GETNEXT), 56(OPEN)
-|  |
-|  56:AGGREGATE [FINALIZE]
-|  |  output: sum:merge(ss_quantity * ss_sales_price)
-|  |  group by: c_customer_sk
-|  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=15 row-size=20B cardinality=100.00K cost=200000
-|  |  in pipelines: 56(GETNEXT), 13(OPEN)
-|  |
-|  55:EXCHANGE [HASH(c_customer_sk)]
-|  |  mem-estimate=867.04KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=15 row-size=20B cardinality=100.00K cost=2344
-|  |  in pipelines: 13(GETNEXT)
-|  |
-|  F03:PLAN FRAGMENT [RANDOM] hosts=3 instances=9 (adjusted from 48)
-|  Per-Host Shared Resources: mem-estimate=2.00MB mem-reservation=2.00MB thread-reservation=0 runtime-filters-memory=2.00MB
-|  Per-Instance Resources: mem-estimate=26.56MB mem-reservation=6.00MB thread-reservation=1
-|  max-parallelism=9 segment-costs=[84004956, 2344] cpu-comparison-result=9 [max(9 (self) vs 8 (sum children))]
-|  18:AGGREGATE [STREAMING]
-|  |  output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price)
-|  |  group by: c_customer_sk
-|  |  mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-|  |  tuple-ids=15 row-size=20B cardinality=100.00K cost=4709082
-|  |  in pipelines: 13(GETNEXT)
-|  |
-|  17:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=06
-|  |  hash predicates: ss_customer_sk = c_customer_sk
-|  |  fk/pk conjuncts: ss_customer_sk = c_customer_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-|  |  tuple-ids=12,14,13 row-size=28B cardinality=2.35M cost=2354541
-|  |  in pipelines: 13(GETNEXT), 14(OPEN)
-|  |
-|  |--F38:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=15.64MB mem-reservation=15.25MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=3 segment-costs=[102346]
-|  |  JOIN BUILD
-|  |  |  join-table-id=06 plan-id=07 cohort-id=04
-|  |  |  build expressions: c_customer_sk
-|  |  |  runtime filters: RF004[bloom] <- c_customer_sk, RF005[min_max] <- c_customer_sk
-|  |  |  mem-estimate=14.25MB mem-reservation=14.25MB spill-buffer=256.00KB thread-reservation=0 cost=100000
-|  |  |
-|  |  54:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=398.62KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=13 row-size=4B cardinality=100.00K cost=2346
-|  |  |  in pipelines: 14(GETNEXT)
-|  |  |
-|  |  F05:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.03MB mem-reservation=512.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[51173]
-|  |  14:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=5.49MB
-|  |     stored statistics:
-|  |       table: rows=100.00K size=5.49MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=100.00K
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=13 row-size=4B cardinality=100.00K cost=50391
-|  |     in pipelines: 14(GETNEXT)
-|  |
-|  16:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=07
-|  |  hash predicates: ss_sold_date_sk = d_date_sk
-|  |  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=12,14 row-size=24B cardinality=2.35M cost=2354541
-|  |  in pipelines: 13(GETNEXT), 15(OPEN)
-|  |
-|  |--F39:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=6.84MB mem-reservation=6.81MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=3 segment-costs=[1545]
-|  |  JOIN BUILD
-|  |  |  join-table-id=07 plan-id=08 cohort-id=04
-|  |  |  build expressions: d_date_sk
-|  |  |  runtime filters: RF006[bloom] <- d_date_sk
-|  |  |  mem-estimate=5.81MB mem-reservation=5.81MB spill-buffer=64.00KB thread-reservation=0 cost=1491
-|  |  |
-|  |  53:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=23.65KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=14 row-size=8B cardinality=1.49K cost=54
-|  |  |  in pipelines: 15(GETNEXT)
-|  |  |
-|  |  F04: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=[123638]
-|  |  15:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |     predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |     stored statistics:
-|  |       table: rows=73.05K size=2.15MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |     parquet statistics predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |     parquet dictionary predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=14 row-size=8B cardinality=1.49K cost=123620
-|  |     in pipelines: 15(GETNEXT)
-|  |
-|  13:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|     runtime filters: RF005[min_max] -> ss_customer_sk, RF006[bloom] -> ss_sold_date_sk, RF004[bloom] -> ss_customer_sk
-|     stored statistics:
-|       table: rows=2.88M size=199.36MB
-|       partitions: 1824/1824 rows=2.88M
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=130.09K est-scan-range=1491(filtered from 1824)
-|     mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-|     tuple-ids=12 row-size=16B cardinality=2.35M(filtered from 2.88M) cost=74586792
-|     in pipelines: 13(GETNEXT)
-|
-52:AGGREGATE [FINALIZE]
-|  output: sum:merge(ss_quantity * ss_sales_price)
-|  group by: c_customer_sk
-|  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=10 row-size=20B cardinality=100.00K cost=200000
-|  in pipelines: 52(GETNEXT), 09(OPEN)
-|
-51:EXCHANGE [HASH(c_customer_sk)]
-|  mem-estimate=939.04KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=10 row-size=20B cardinality=100.00K cost=2344
-|  in pipelines: 09(GETNEXT)
-|
-F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-Per-Host Shared Resources: mem-estimate=2.00MB mem-reservation=2.00MB thread-reservation=0 runtime-filters-memory=2.00MB
-Per-Instance Resources: mem-estimate=27.12MB mem-reservation=6.00MB thread-reservation=1
-max-parallelism=12 segment-costs=[99874964, 2344] cpu-comparison-result=12 [max(12 (self) vs 4 (sum children))]
-12:AGGREGATE [STREAMING]
-|  output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price)
-|  group by: c_customer_sk
-|  mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-|  tuple-ids=10 row-size=20B cardinality=100.00K cost=5760808
-|  in pipelines: 09(GETNEXT)
-|
-11:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash-table-id=16
-|  hash predicates: ss_customer_sk = c_customer_sk
-|  fk/pk conjuncts: ss_customer_sk = c_customer_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-|  tuple-ids=8,9 row-size=16B cardinality=2.88M cost=2880404
-|  in pipelines: 09(GETNEXT), 10(OPEN)
-|
-|--F48:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=20.39MB mem-reservation=20.00MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=3 segment-costs=[102346]
-|  JOIN BUILD
-|  |  join-table-id=16 plan-id=17 cohort-id=01
-|  |  build expressions: c_customer_sk
-|  |  runtime filters: RF002[bloom] <- c_customer_sk, RF003[min_max] <- c_customer_sk
-|  |  mem-estimate=19.00MB mem-reservation=19.00MB spill-buffer=256.00KB thread-reservation=0 cost=100000
-|  |
-|  50:EXCHANGE [BROADCAST]
-|  |  mem-estimate=398.62KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=9 row-size=4B cardinality=100.00K cost=2346
-|  |  in pipelines: 10(GETNEXT)
-|  |
-|  F01:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
-|  Per-Instance Resources: mem-estimate=16.03MB mem-reservation=512.00KB thread-reservation=1
-|  max-parallelism=1 segment-costs=[51173]
-|  10:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-|     HDFS partitions=1/1 files=1 size=5.49MB
-|     runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.customer.c_customer_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.customer.c_customer_sk
-|     stored statistics:
-|       table: rows=100.00K size=5.49MB
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=100.00K
-|     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|     tuple-ids=9 row-size=4B cardinality=100.00K cost=50391
-|     in pipelines: 10(GETNEXT)
-|
-09:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-   HDFS partitions=1824/1824 files=1824 size=199.36MB
-   runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk, RF003[min_max] -> ss_customer_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk, RF002[bloom] -> ss_customer_sk
-   stored statistics:
-     table: rows=2.88M size=199.36MB
-     partitions: 1824/1824 rows=2.88M
-     columns: all
-   extrapolated-rows=disabled max-scan-range-rows=130.09K
-   mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-   tuple-ids=8 row-size=12B cardinality=2.88M cost=91233752
-   in pipelines: 09(GETNEXT)
-====
-# TPCDS-Q23b second of two queries
-WITH frequent_ss_items AS
-  (SELECT itemdesc,
-          i_item_sk item_sk,
-          d_date solddate,
-          count(*) cnt
-   FROM store_sales,
-        date_dim,
-     (SELECT SUBSTRING(i_item_desc, 1, 30) itemdesc,
-             *
-      FROM item) sq1
-   WHERE ss_sold_date_sk = d_date_sk
-     AND ss_item_sk = i_item_sk
-     AND d_year IN (2000,
-                    2000+1,
-                    2000+2,
-                    2000+3)
-   GROUP BY itemdesc,
-            i_item_sk,
-            d_date
-   HAVING count(*) >4),
-     max_store_sales AS
-  (SELECT max(csales) tpcds_cmax
-   FROM
-     (SELECT c_customer_sk,
-             sum(ss_quantity*ss_sales_price) csales
-      FROM store_sales,
-           customer,
-           date_dim
-      WHERE ss_customer_sk = c_customer_sk
-        AND ss_sold_date_sk = d_date_sk
-        AND d_year IN (2000,
-                       2000+1,
-                       2000+2,
-                       2000+3)
-      GROUP BY c_customer_sk) sq2),
-     best_ss_customer AS
-  (SELECT c_customer_sk,
-          sum(ss_quantity*ss_sales_price) ssales
-   FROM store_sales,
-        customer,
-        max_store_sales
-   WHERE ss_customer_sk = c_customer_sk
-   GROUP BY c_customer_sk
-   HAVING sum(ss_quantity*ss_sales_price) > (50/100.0) * max(tpcds_cmax))
-SELECT c_last_name,
-       c_first_name,
-       sales
-FROM
-  (SELECT c_last_name,
-          c_first_name,
-          sum(cs_quantity*cs_list_price) sales
-   FROM catalog_sales,
-        customer,
-        date_dim,
-        frequent_ss_items,
-        best_ss_customer
-   WHERE d_year = 2000
-     AND d_moy = 2
-     AND cs_sold_date_sk = d_date_sk
-     AND cs_item_sk = item_sk
-     AND cs_bill_customer_sk = best_ss_customer.c_customer_sk
-     AND cs_bill_customer_sk = customer.c_customer_sk
-   GROUP BY c_last_name,
-            c_first_name
-   UNION ALL SELECT c_last_name,
-                    c_first_name,
-                    sum(ws_quantity*ws_list_price) sales
-   FROM web_sales,
-        customer,
-        date_dim,
-        frequent_ss_items,
-        best_ss_customer
-   WHERE d_year = 2000
-     AND d_moy = 2
-     AND ws_sold_date_sk = d_date_sk
-     AND ws_item_sk = item_sk
-     AND ws_bill_customer_sk = best_ss_customer.c_customer_sk
-     AND ws_bill_customer_sk = customer.c_customer_sk
-   GROUP BY c_last_name,
-            c_first_name) sq3
-ORDER BY c_last_name,
-         c_first_name,
-         sales
-LIMIT 100;
----- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=581.88MB Threads=85
-Per-Host Resource Estimates: Memory=1.41GB
-F35: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=[306] cpu-comparison-result=66 [max(1 (self) vs 66 (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
-|
-96:MERGING-EXCHANGE [UNPARTITIONED]
-|  order by: c_last_name ASC, c_first_name ASC, sales ASC
-|  limit: 100
-|  mem-estimate=34.49KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=44 row-size=52B cardinality=100 cost=6
-|  in pipelines: 53(GETNEXT)
-|
-F34:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
-Per-Instance Resources: mem-estimate=10.51MB mem-reservation=1.94MB thread-reservation=1
-max-parallelism=6 segment-costs=[32050, 29227, 300, 6] cpu-comparison-result=66 [max(6 (self) vs 66 (sum children))]
-53:TOP-N [LIMIT=100]
-|  order by: c_last_name ASC, c_first_name ASC, sales ASC
-|  mem-estimate=5.08KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=44 row-size=52B cardinality=100 cost=300
-|  in pipelines: 53(GETNEXT), 74(OPEN), 95(OPEN)
-|
-00:UNION
-|  pass-through-operands: all
-|  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  tuple-ids=42 row-size=52B cardinality=20.06K cost=0
-|  in pipelines: 74(GETNEXT), 95(GETNEXT)
-|
-|--95:AGGREGATE [FINALIZE]
-|  |  output: sum:merge(ws_quantity * ws_list_price)
-|  |  group by: c_last_name, c_first_name
-|  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=41 row-size=52B cardinality=9.57K cost=28704
-|  |  in pipelines: 95(GETNEXT), 78(OPEN)
-|  |
-|  94:EXCHANGE [HASH(c_last_name,c_first_name)]
-|  |  mem-estimate=497.64KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=41 row-size=52B cardinality=9.57K cost=523
-|  |  in pipelines: 78(GETNEXT)
-|  |
-|  F32:PLAN FRAGMENT [HASH(i_item_sk)] hosts=3 instances=6 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=15.37MB mem-reservation=2.00MB thread-reservation=1
-|  max-parallelism=6 segment-costs=[276575, 523] cpu-comparison-result=33 [max(6 (self) vs 33 (sum children))]
-|  52:AGGREGATE [STREAMING]
-|  |  output: sum(CAST(ws_quantity AS DECIMAL(10,0)) * ws_list_price)
-|  |  group by: c_last_name, c_first_name
-|  |  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=41 row-size=52B cardinality=9.57K cost=28704
-|  |  in pipelines: 78(GETNEXT)
-|  |
-|  51:HASH JOIN [INNER JOIN, PARTITIONED]
-|  |  hash-table-id=10
-|  |  hash predicates: i_item_sk = ws_item_sk
-|  |  fk/pk conjuncts: i_item_sk = ws_item_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=28,21,23,39,22 row-size=162B cardinality=9.57K cost=235454
-|  |  in pipelines: 78(GETNEXT), 27(OPEN)
-|  |
-|  |--F46:PLAN FRAGMENT [HASH(i_item_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=4.03MB mem-reservation=2.94MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=6 segment-costs=[10764] cpu-comparison-result=24 [max(18 (self) vs 24 (sum children))]
-|  |  JOIN BUILD
-|  |  |  join-table-id=10 plan-id=11 cohort-id=05
-|  |  |  build expressions: ws_item_sk
-|  |  |  runtime filters: RF018[bloom] <- ws_item_sk, RF019[min_max] <- ws_item_sk
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=9568
-|  |  |
-|  |  93:EXCHANGE [HASH(ws_item_sk)]
-|  |  |  mem-estimate=1.09MB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=21,23,39,22 row-size=112B cardinality=9.57K cost=1196
-|  |  |  in pipelines: 27(GETNEXT)
-|  |  |
-|  |  F30:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=3.74MB mem-reservation=0B thread-reservation=1
-|  |  max-parallelism=6 segment-costs=[55190]
-|  |  50:HASH JOIN [INNER JOIN, PARTITIONED]
-|  |  |  hash-table-id=11
-|  |  |  hash predicates: ws_bill_customer_sk = customer.c_customer_sk
-|  |  |  fk/pk conjuncts: ws_bill_customer_sk = customer.c_customer_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=128.00KB thread-reservation=0
-|  |  |  tuple-ids=21,23,39,22 row-size=112B cardinality=9.57K cost=9568
-|  |  |  in pipelines: 27(GETNEXT), 28(OPEN)
-|  |  |
-|  |  |--F47:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  |  Per-Instance Resources: mem-estimate=6.73MB mem-reservation=2.88MB thread-reservation=1
-|  |  |  |  max-parallelism=6 segment-costs=[104294]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=11 plan-id=12 cohort-id=06
-|  |  |  |  build expressions: customer.c_customer_sk
-|  |  |  |  runtime filters: RF025[min_max] <- customer.c_customer_sk
-|  |  |  |  mem-estimate=2.88MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0 cost=100000
-|  |  |  |
-|  |  |  91:EXCHANGE [HASH(customer.c_customer_sk)]
-|  |  |  |  mem-estimate=3.85MB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=22 row-size=40B cardinality=100.00K cost=4294
-|  |  |  |  in pipelines: 28(GETNEXT)
-|  |  |  |
-|  |  |  F31:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  Per-Instance Resources: mem-estimate=17.03MB mem-reservation=1.00MB thread-reservation=1
-|  |  |  max-parallelism=1 segment-costs=[58197]
-|  |  |  28:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=5.49MB
-|  |  |     stored statistics:
-|  |  |       table: rows=100.00K size=5.49MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=100.00K
-|  |  |     mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-|  |  |     tuple-ids=22 row-size=40B cardinality=100.00K cost=53903
-|  |  |     in pipelines: 28(GETNEXT)
-|  |  |
-|  |  49:HASH JOIN [INNER JOIN, PARTITIONED]
-|  |  |  hash-table-id=12
-|  |  |  hash predicates: ws_bill_customer_sk = c_customer_sk
-|  |  |  fk/pk conjuncts: ws_bill_customer_sk = c_customer_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=21,23,39 row-size=72B cardinality=9.57K cost=42595
-|  |  |  in pipelines: 27(GETNEXT), 89(OPEN)
-|  |  |
-|  |  |--F48:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  |  Per-Instance Resources: mem-estimate=12.94MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  |  max-parallelism=6 segment-costs=[303907, 10000] cpu-comparison-result=13 [max(6 (self) vs 13 (sum children))]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=12 plan-id=13 cohort-id=06
-|  |  |  |  build expressions: c_customer_sk
-|  |  |  |  runtime filters: RF026[bloom] <- c_customer_sk, RF027[min_max] <- c_customer_sk
-|  |  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=10000
-|  |  |  |
-|  |  |  89:AGGREGATE [FINALIZE]
-|  |  |  |  output: sum:merge(ss_quantity * ss_sales_price), max:merge(tpcds_cmax)
-|  |  |  |  group by: c_customer_sk
-|  |  |  |  having: sum(ss_quantity * ss_sales_price) > CAST(0.500000 AS DECIMAL(10,6)) * max(tpcds_cmax)
-|  |  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=39 row-size=36B cardinality=10.00K cost=300000
-|  |  |  |  in pipelines: 89(GETNEXT), 36(OPEN)
-|  |  |  |
-|  |  |  88:EXCHANGE [HASH(c_customer_sk)]
-|  |  |  |  mem-estimate=1.61MB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=39 row-size=36B cardinality=100.00K cost=3907
-|  |  |  |  in pipelines: 36(GETNEXT)
-|  |  |  |
-|  |  |  F23:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=26.94MB mem-reservation=10.00MB thread-reservation=1
-|  |  |  max-parallelism=12 segment-costs=[102755368, 3907] cpu-comparison-result=13 [max(12 (self) vs 13 (sum children))]
-|  |  |  47:AGGREGATE [STREAMING]
-|  |  |  |  output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price), max(max(csales))
-|  |  |  |  group by: c_customer_sk
-|  |  |  |  mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-|  |  |  |  tuple-ids=39 row-size=36B cardinality=100.00K cost=8641212
-|  |  |  |  in pipelines: 36(GETNEXT)
-|  |  |  |
-|  |  |  46:NESTED LOOP JOIN [CROSS JOIN, BROADCAST]
-|  |  |  |  join table id: 13
-|  |  |  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=30,31,37 row-size=32B cardinality=2.88M cost=0
-|  |  |  |  in pipelines: 36(GETNEXT), 86(OPEN)
-|  |  |  |
-|  |  |  |--F49:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=16.02KB mem-reservation=0B thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[3] cpu-comparison-result=9 [max(3 (self) vs 9 (sum children))]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=13 plan-id=14 cohort-id=07
-|  |  |  |  |  mem-estimate=16B mem-reservation=0B thread-reservation=0 cost=0
-|  |  |  |  |
-|  |  |  |  87:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=37 row-size=16B cardinality=1 cost=3
-|  |  |  |  |  in pipelines: 86(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F29:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  |  |  |  Per-Instance Resources: mem-estimate=96.00KB mem-reservation=0B thread-reservation=1
-|  |  |  |  max-parallelism=2 segment-costs=[2, 1] cpu-comparison-result=9 [max(2 (self) vs 9 (sum children))]
-|  |  |  |  86:AGGREGATE [FINALIZE]
-|  |  |  |  |  output: max:merge(csales)
-|  |  |  |  |  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  |  |  |  |  tuple-ids=37 row-size=16B cardinality=1 cost=1
-|  |  |  |  |  in pipelines: 86(GETNEXT), 44(OPEN)
-|  |  |  |  |
-|  |  |  |  85:EXCHANGE [UNPARTITIONED]
-|  |  |  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=37 row-size=16B cardinality=1 cost=1
-|  |  |  |  |  in pipelines: 44(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F28:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  |  Per-Instance Resources: mem-estimate=10.85MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  |  max-parallelism=6 segment-costs=[202344, 100000, 1] cpu-comparison-result=9 [max(6 (self) vs 9 (sum children))]
-|  |  |  |  44:AGGREGATE
-|  |  |  |  |  output: max(sum(ss_quantity * ss_sales_price))
-|  |  |  |  |  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  |  |  |  |  tuple-ids=37 row-size=16B cardinality=1 cost=100000
-|  |  |  |  |  in pipelines: 44(GETNEXT), 84(OPEN)
-|  |  |  |  |
-|  |  |  |  84:AGGREGATE [FINALIZE]
-|  |  |  |  |  output: sum:merge(ss_quantity * ss_sales_price)
-|  |  |  |  |  group by: c_customer_sk
-|  |  |  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  |  tuple-ids=35 row-size=20B cardinality=100.00K cost=200000
-|  |  |  |  |  in pipelines: 84(GETNEXT), 38(OPEN)
-|  |  |  |  |
-|  |  |  |  83:EXCHANGE [HASH(c_customer_sk)]
-|  |  |  |  |  mem-estimate=867.04KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=35 row-size=20B cardinality=100.00K cost=2344
-|  |  |  |  |  in pipelines: 38(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F25:PLAN FRAGMENT [RANDOM] hosts=3 instances=9 (adjusted from 48)
-|  |  |  |  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=26.56MB mem-reservation=6.00MB thread-reservation=1
-|  |  |  |  max-parallelism=9 segment-costs=[84004956, 2344] cpu-comparison-result=9 [max(9 (self) vs 8 (sum children))]
-|  |  |  |  43:AGGREGATE [STREAMING]
-|  |  |  |  |  output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price)
-|  |  |  |  |  group by: c_customer_sk
-|  |  |  |  |  mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-|  |  |  |  |  tuple-ids=35 row-size=20B cardinality=100.00K cost=4709082
-|  |  |  |  |  in pipelines: 38(GETNEXT)
-|  |  |  |  |
-|  |  |  |  42:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  |  hash-table-id=14
-|  |  |  |  |  hash predicates: ss_customer_sk = c_customer_sk
-|  |  |  |  |  fk/pk conjuncts: ss_customer_sk = c_customer_sk
-|  |  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-|  |  |  |  |  tuple-ids=32,34,33 row-size=28B cardinality=2.35M cost=2354541
-|  |  |  |  |  in pipelines: 38(GETNEXT), 39(OPEN)
-|  |  |  |  |
-|  |  |  |  |--F50:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  |  Per-Instance Resources: mem-estimate=14.64MB mem-reservation=14.25MB thread-reservation=1
-|  |  |  |  |  |  max-parallelism=3 segment-costs=[102346]
-|  |  |  |  |  JOIN BUILD
-|  |  |  |  |  |  join-table-id=14 plan-id=15 cohort-id=08
-|  |  |  |  |  |  build expressions: c_customer_sk
-|  |  |  |  |  |  runtime filters: RF033[min_max] <- c_customer_sk
-|  |  |  |  |  |  mem-estimate=14.25MB mem-reservation=14.25MB spill-buffer=256.00KB thread-reservation=0 cost=100000
-|  |  |  |  |  |
-|  |  |  |  |  82:EXCHANGE [BROADCAST]
-|  |  |  |  |  |  mem-estimate=398.62KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  |  tuple-ids=33 row-size=4B cardinality=100.00K cost=2346
-|  |  |  |  |  |  in pipelines: 39(GETNEXT)
-|  |  |  |  |  |
-|  |  |  |  |  F27:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  |  |  Per-Instance Resources: mem-estimate=16.03MB mem-reservation=512.00KB thread-reservation=1
-|  |  |  |  |  max-parallelism=1 segment-costs=[51173]
-|  |  |  |  |  39:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-|  |  |  |  |     HDFS partitions=1/1 files=1 size=5.49MB
-|  |  |  |  |     stored statistics:
-|  |  |  |  |       table: rows=100.00K size=5.49MB
-|  |  |  |  |       columns: all
-|  |  |  |  |     extrapolated-rows=disabled max-scan-range-rows=100.00K
-|  |  |  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |  |  |     tuple-ids=33 row-size=4B cardinality=100.00K cost=50391
-|  |  |  |  |     in pipelines: 39(GETNEXT)
-|  |  |  |  |
-|  |  |  |  41:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  |  hash-table-id=15
-|  |  |  |  |  hash predicates: ss_sold_date_sk = d_date_sk
-|  |  |  |  |  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  |  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  |  tuple-ids=32,34 row-size=24B cardinality=2.35M cost=2354541
-|  |  |  |  |  in pipelines: 38(GETNEXT), 40(OPEN)
-|  |  |  |  |
-|  |  |  |  |--F51:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  |  Per-Instance Resources: mem-estimate=6.84MB mem-reservation=6.81MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  |  |  |  max-parallelism=3 segment-costs=[1545]
-|  |  |  |  |  JOIN BUILD
-|  |  |  |  |  |  join-table-id=15 plan-id=16 cohort-id=08
-|  |  |  |  |  |  build expressions: d_date_sk
-|  |  |  |  |  |  runtime filters: RF034[bloom] <- d_date_sk
-|  |  |  |  |  |  mem-estimate=5.81MB mem-reservation=5.81MB spill-buffer=64.00KB thread-reservation=0 cost=1491
-|  |  |  |  |  |
-|  |  |  |  |  81:EXCHANGE [BROADCAST]
-|  |  |  |  |  |  mem-estimate=23.65KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  |  tuple-ids=34 row-size=8B cardinality=1.49K cost=54
-|  |  |  |  |  |  in pipelines: 40(GETNEXT)
-|  |  |  |  |  |
-|  |  |  |  |  F26: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=[123638]
-|  |  |  |  |  40:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |  |  |     predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |  |  |  |     stored statistics:
-|  |  |  |  |       table: rows=73.05K size=2.15MB
-|  |  |  |  |       columns: all
-|  |  |  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |  |  |     parquet statistics predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |  |  |  |     parquet dictionary predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |  |  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |  |  |     tuple-ids=34 row-size=8B cardinality=1.49K cost=123620
-|  |  |  |  |     in pipelines: 40(GETNEXT)
-|  |  |  |  |
-|  |  |  |  38:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|  |  |  |     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|  |  |  |     runtime filters: RF033[min_max] -> ss_customer_sk, RF034[bloom] -> ss_sold_date_sk
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=2.88M size=199.36MB
-|  |  |  |       partitions: 1824/1824 rows=2.88M
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=130.09K est-scan-range=1491(filtered from 1824)
-|  |  |  |     mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-|  |  |  |     tuple-ids=32 row-size=16B cardinality=2.35M(filtered from 2.88M) cost=74586792
-|  |  |  |     in pipelines: 38(GETNEXT)
-|  |  |  |
-|  |  |  45:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=16
-|  |  |  |  hash predicates: ss_customer_sk = c_customer_sk
-|  |  |  |  fk/pk conjuncts: ss_customer_sk = c_customer_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-|  |  |  |  tuple-ids=30,31 row-size=16B cardinality=2.88M cost=2880404
-|  |  |  |  in pipelines: 36(GETNEXT), 37(OPEN)
-|  |  |  |
-|  |  |  |--F52:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=19.39MB mem-reservation=19.00MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[102346]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=16 plan-id=17 cohort-id=07
-|  |  |  |  |  build expressions: c_customer_sk
-|  |  |  |  |  runtime filters: RF031[min_max] <- c_customer_sk
-|  |  |  |  |  mem-estimate=19.00MB mem-reservation=19.00MB spill-buffer=256.00KB thread-reservation=0 cost=100000
-|  |  |  |  |
-|  |  |  |  80:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=398.62KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=31 row-size=4B cardinality=100.00K cost=2346
-|  |  |  |  |  in pipelines: 37(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F24:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  |  Per-Instance Resources: mem-estimate=16.03MB mem-reservation=512.00KB thread-reservation=1
-|  |  |  |  max-parallelism=1 segment-costs=[51173]
-|  |  |  |  37:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=5.49MB
-|  |  |  |     runtime filters: RF025[min_max] -> tpcds_partitioned_parquet_snap.customer.c_customer_sk
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=100.00K size=5.49MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=100.00K
-|  |  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |  |     tuple-ids=31 row-size=4B cardinality=100.00K cost=50391
-|  |  |  |     in pipelines: 37(GETNEXT)
-|  |  |  |
-|  |  |  36:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|  |  |     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|  |  |     runtime filters: RF025[min_max] -> tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk, RF031[min_max] -> ss_customer_sk
-|  |  |     stored statistics:
-|  |  |       table: rows=2.88M size=199.36MB
-|  |  |       partitions: 1824/1824 rows=2.88M
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=130.09K
-|  |  |     mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-|  |  |     tuple-ids=30 row-size=12B cardinality=2.88M cost=91233752
-|  |  |     in pipelines: 36(GETNEXT)
-|  |  |
-|  |  90:EXCHANGE [HASH(ws_bill_customer_sk)]
-|  |  |  mem-estimate=763.17KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=21,23 row-size=36B cardinality=42.59K(filtered from 42.60K) cost=1831
-|  |  |  in pipelines: 27(GETNEXT)
-|  |  |
-|  |  F21:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Host Shared Resources: mem-estimate=2.00MB mem-reservation=2.00MB thread-reservation=0 runtime-filters-memory=2.00MB
-|  |  Per-Instance Resources: mem-estimate=17.03MB mem-reservation=128.00KB thread-reservation=1
-|  |  max-parallelism=6 segment-costs=[5495425]
-|  |  48:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=17
-|  |  |  hash predicates: ws_sold_date_sk = d_date_sk
-|  |  |  fk/pk conjuncts: ws_sold_date_sk = d_date_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=21,23 row-size=36B cardinality=42.59K(filtered from 42.60K) cost=42595
-|  |  |  in pipelines: 27(GETNEXT), 29(OPEN)
-|  |  |
-|  |  |--F53:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=4.89MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  |  max-parallelism=3 segment-costs=[114]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=17 plan-id=18 cohort-id=06
-|  |  |  |  build expressions: d_date_sk
-|  |  |  |  runtime filters: RF028[bloom] <- d_date_sk
-|  |  |  |  mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0 cost=108
-|  |  |  |
-|  |  |  79:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=23 row-size=12B cardinality=108 cost=6
-|  |  |  |  in pipelines: 29(GETNEXT)
-|  |  |  |
-|  |  |  F22: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=[196957]
-|  |  |  29:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |     predicates: d_year = CAST(2000 AS INT), d_moy = CAST(2 AS INT)
-|  |  |     stored statistics:
-|  |  |       table: rows=73.05K size=2.15MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |     parquet statistics predicates: d_year = CAST(2000 AS INT), d_moy = CAST(2 AS INT)
-|  |  |     parquet dictionary predicates: d_year = CAST(2000 AS INT), d_moy = CAST(2 AS INT)
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=23 row-size=12B cardinality=108 cost=196955
-|  |  |     in pipelines: 29(GETNEXT)
-|  |  |
-|  |  27:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
-|  |     HDFS partitions=1824/1824 files=1824 size=84.20MB
-|  |     runtime filters: RF027[min_max] -> ws_bill_customer_sk, RF025[min_max] -> ws_bill_customer_sk, RF028[bloom] -> ws_sold_date_sk, RF026[bloom] -> ws_bill_customer_sk
-|  |     stored statistics:
-|  |       table: rows=719.38K size=84.20MB
-|  |       partitions: 1824/1824 rows=719.38K
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=1.12K est-scan-range=109(filtered from 1824)
-|  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |     tuple-ids=21 row-size=24B cardinality=42.59K(filtered from 719.38K) cost=5450999
-|  |     in pipelines: 27(GETNEXT)
-|  |
-|  92:EXCHANGE [HASH(i_item_sk)]
-|  |  mem-estimate=4.06MB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=28 row-size=50B cardinality=235.45K cost=12417
-|  |  in pipelines: 78(GETNEXT)
-|  |
-|  F20:PLAN FRAGMENT [HASH(itemdesc,i_item_sk,d_date)] hosts=3 instances=6 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=44.47MB mem-reservation=34.00MB thread-reservation=1
-|  max-parallelism=6 segment-costs=[9542330, 12417] cpu-comparison-result=9 [max(6 (self) vs 9 (sum children))]
-|  78:AGGREGATE [FINALIZE]
-|  |  output: count:merge(*)
-|  |  group by: itemdesc, i_item_sk, d_date
-|  |  having: count(*) > CAST(4 AS BIGINT)
-|  |  mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-|  |  tuple-ids=28 row-size=50B cardinality=235.45K cost=9418164
-|  |  in pipelines: 78(GETNEXT), 30(OPEN)
-|  |
-|  77:EXCHANGE [HASH(itemdesc,i_item_sk,d_date)]
-|  |  mem-estimate=10.47MB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=28 row-size=50B cardinality=2.35M cost=124166
-|  |  in pipelines: 30(GETNEXT)
-|  |
-|  F17:PLAN FRAGMENT [RANDOM] hosts=3 instances=9 (adjusted from 48)
-|  Per-Host Shared Resources: mem-estimate=2.00MB mem-reservation=2.00MB thread-reservation=0 runtime-filters-memory=2.00MB
-|  Per-Instance Resources: mem-estimate=34.27MB mem-reservation=17.50MB thread-reservation=1
-|  max-parallelism=9 segment-costs=[88704838, 124166] cpu-comparison-result=9 [max(9 (self) vs 8 (sum children))]
-|  35:AGGREGATE [STREAMING]
-|  |  output: count(*)
-|  |  group by: substring(i_item_desc, CAST(1 AS BIGINT), CAST(30 AS BIGINT)), tpcds_partitioned_parquet_snap.item.i_item_sk, d_date
-|  |  mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
-|  |  tuple-ids=28 row-size=50B cardinality=2.35M cost=9418164
-|  |  in pipelines: 30(GETNEXT)
-|  |
-|  34:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=18
-|  |  hash predicates: ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  fk/pk conjuncts: ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-|  |  tuple-ids=24,25,26 row-size=162B cardinality=2.35M cost=2354541
-|  |  in pipelines: 30(GETNEXT), 32(OPEN)
-|  |
-|  |--F54:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=16.44MB mem-reservation=14.25MB thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[24564]
-|  |  JOIN BUILD
-|  |  |  join-table-id=18 plan-id=19 cohort-id=05
-|  |  |  build expressions: tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  |  runtime filters: RF021[min_max] <- tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  |  mem-estimate=14.25MB mem-reservation=14.25MB spill-buffer=256.00KB thread-reservation=0 cost=18000
-|  |  |
-|  |  76:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=2.19MB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=26 row-size=120B cardinality=18.00K cost=6564
-|  |  |  in pipelines: 32(GETNEXT)
-|  |  |
-|  |  F19:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
-|  |  Per-Instance Resources: mem-estimate=16.49MB mem-reservation=2.00MB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[54306]
-|  |  32:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |     runtime filters: RF019[min_max] -> tpcds_partitioned_parquet_snap.item.i_item_sk, RF018[bloom] -> tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |     stored statistics:
-|  |       table: rows=18.00K size=1.73MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |     mem-estimate=16.00MB mem-reservation=2.00MB thread-reservation=0
-|  |     tuple-ids=26 row-size=120B cardinality=18.00K cost=52118
-|  |     in pipelines: 32(GETNEXT)
-|  |
-|  33:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=19
-|  |  hash predicates: ss_sold_date_sk = d_date_sk
-|  |  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=24,25 row-size=42B cardinality=2.35M cost=2354541
-|  |  in pipelines: 30(GETNEXT), 31(OPEN)
-|  |
-|  |--F55:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=6.89MB mem-reservation=6.81MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=3 segment-costs=[1641]
-|  |  JOIN BUILD
-|  |  |  join-table-id=19 plan-id=20 cohort-id=05
-|  |  |  build expressions: d_date_sk
-|  |  |  runtime filters: RF022[bloom] <- d_date_sk
-|  |  |  mem-estimate=5.81MB mem-reservation=5.81MB spill-buffer=64.00KB thread-reservation=0 cost=1491
-|  |  |
-|  |  75:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=77.68KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=25 row-size=30B cardinality=1.49K cost=150
-|  |  |  in pipelines: 31(GETNEXT)
-|  |  |
-|  |  F18:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.13MB mem-reservation=2.00MB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[125240]
-|  |  31:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |     predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |     stored statistics:
-|  |       table: rows=73.05K size=2.15MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |     parquet statistics predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |     parquet dictionary predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |     mem-estimate=16.00MB mem-reservation=2.00MB thread-reservation=0
-|  |     tuple-ids=25 row-size=30B cardinality=1.49K cost=125190
-|  |     in pipelines: 31(GETNEXT)
-|  |
-|  30:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|     runtime filters: RF019[min_max] -> tpcds_partitioned_parquet_snap.store_sales.ss_item_sk, RF021[min_max] -> ss_item_sk, RF018[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_item_sk, RF022[bloom] -> ss_sold_date_sk
-|     stored statistics:
-|       table: rows=2.88M size=199.36MB
-|       partitions: 1824/1824 rows=2.88M
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=130.09K est-scan-range=1491(filtered from 1824)
-|     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|     tuple-ids=24 row-size=12B cardinality=2.35M(filtered from 2.88M) cost=74577592
-|     in pipelines: 30(GETNEXT)
-|
-74:AGGREGATE [FINALIZE]
-|  output: sum:merge(cs_quantity * cs_list_price)
-|  group by: c_last_name, c_first_name
-|  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=20 row-size=52B cardinality=10.49K cost=31476
-|  in pipelines: 74(GETNEXT), 57(OPEN)
-|
-73:EXCHANGE [HASH(c_last_name,c_first_name)]
-|  mem-estimate=513.27KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=20 row-size=52B cardinality=10.49K cost=574
-|  in pipelines: 57(GETNEXT)
-|
-F15:PLAN FRAGMENT [HASH(i_item_sk)] hosts=3 instances=6 (adjusted from 48)
-Per-Instance Resources: mem-estimate=15.37MB mem-reservation=2.00MB thread-reservation=1
-max-parallelism=6 segment-costs=[279347, 574] cpu-comparison-result=33 [max(6 (self) vs 33 (sum children))]
-26:AGGREGATE [STREAMING]
-|  output: sum(CAST(cs_quantity AS DECIMAL(10,0)) * cs_list_price)
-|  group by: c_last_name, c_first_name
-|  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=20 row-size=52B cardinality=10.49K cost=31476
-|  in pipelines: 57(GETNEXT)
-|
-25:HASH JOIN [INNER JOIN, PARTITIONED]
-|  hash-table-id=00
-|  hash predicates: i_item_sk = cs_item_sk
-|  fk/pk conjuncts: i_item_sk = cs_item_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=7,0,2,18,1 row-size=162B cardinality=10.49K cost=235454
-|  in pipelines: 57(GETNEXT), 01(OPEN)
-|
-|--F36:PLAN FRAGMENT [HASH(i_item_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=4.06MB mem-reservation=2.94MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=6 segment-costs=[11804] cpu-comparison-result=24 [max(18 (self) vs 24 (sum children))]
-|  JOIN BUILD
-|  |  join-table-id=00 plan-id=01 cohort-id=01
-|  |  build expressions: cs_item_sk
-|  |  runtime filters: RF000[bloom] <- cs_item_sk, RF001[min_max] <- cs_item_sk
-|  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=10492
-|  |
-|  72:EXCHANGE [HASH(cs_item_sk)]
-|  |  mem-estimate=1.12MB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=0,2,18,1 row-size=112B cardinality=10.49K cost=1312
-|  |  in pipelines: 01(GETNEXT)
-|  |
-|  F13:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=6 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=4.23MB mem-reservation=0B thread-reservation=1
-|  max-parallelism=6 segment-costs=[100487]
-|  24:HASH JOIN [INNER JOIN, PARTITIONED]
-|  |  hash-table-id=01
-|  |  hash predicates: cs_bill_customer_sk = customer.c_customer_sk
-|  |  fk/pk conjuncts: cs_bill_customer_sk = customer.c_customer_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=128.00KB thread-reservation=0
-|  |  tuple-ids=0,2,18,1 row-size=112B cardinality=10.49K cost=10492
-|  |  in pipelines: 01(GETNEXT), 02(OPEN)
-|  |
-|  |--F37:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=6.73MB mem-reservation=2.88MB thread-reservation=1
-|  |  |  max-parallelism=6 segment-costs=[104294]
-|  |  JOIN BUILD
-|  |  |  join-table-id=01 plan-id=02 cohort-id=02
-|  |  |  build expressions: customer.c_customer_sk
-|  |  |  runtime filters: RF007[min_max] <- customer.c_customer_sk
-|  |  |  mem-estimate=2.88MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0 cost=100000
-|  |  |
-|  |  70:EXCHANGE [HASH(customer.c_customer_sk)]
-|  |  |  mem-estimate=3.85MB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=1 row-size=40B cardinality=100.00K cost=4294
-|  |  |  in pipelines: 02(GETNEXT)
-|  |  |
-|  |  F14:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=17.03MB mem-reservation=1.00MB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[58197]
-|  |  02:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=5.49MB
-|  |     stored statistics:
-|  |       table: rows=100.00K size=5.49MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=100.00K
-|  |     mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-|  |     tuple-ids=1 row-size=40B cardinality=100.00K cost=53903
-|  |     in pipelines: 02(GETNEXT)
-|  |
-|  23:HASH JOIN [INNER JOIN, PARTITIONED]
-|  |  hash-table-id=02
-|  |  hash predicates: cs_bill_customer_sk = c_customer_sk
-|  |  fk/pk conjuncts: cs_bill_customer_sk = c_customer_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=0,2,18 row-size=72B cardinality=10.49K cost=85029
-|  |  in pipelines: 01(GETNEXT), 68(OPEN)
-|  |
-|  |--F38:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=12.94MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=6 segment-costs=[303907, 10000] cpu-comparison-result=13 [max(6 (self) vs 13 (sum children))]
-|  |  JOIN BUILD
-|  |  |  join-table-id=02 plan-id=03 cohort-id=02
-|  |  |  build expressions: c_customer_sk
-|  |  |  runtime filters: RF008[bloom] <- c_customer_sk, RF009[min_max] <- c_customer_sk
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=10000
-|  |  |
-|  |  68:AGGREGATE [FINALIZE]
-|  |  |  output: sum:merge(ss_quantity * ss_sales_price), max:merge(tpcds_cmax)
-|  |  |  group by: c_customer_sk
-|  |  |  having: sum(ss_quantity * ss_sales_price) > CAST(0.500000 AS DECIMAL(10,6)) * max(tpcds_cmax)
-|  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=18 row-size=36B cardinality=10.00K cost=300000
-|  |  |  in pipelines: 68(GETNEXT), 10(OPEN)
-|  |  |
-|  |  67:EXCHANGE [HASH(c_customer_sk)]
-|  |  |  mem-estimate=1.61MB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=18 row-size=36B cardinality=100.00K cost=3907
-|  |  |  in pipelines: 10(GETNEXT)
-|  |  |
-|  |  F06:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=26.94MB mem-reservation=10.00MB thread-reservation=1
-|  |  max-parallelism=12 segment-costs=[102755368, 3907] cpu-comparison-result=13 [max(12 (self) vs 13 (sum children))]
-|  |  21:AGGREGATE [STREAMING]
-|  |  |  output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price), max(max(csales))
-|  |  |  group by: c_customer_sk
-|  |  |  mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-|  |  |  tuple-ids=18 row-size=36B cardinality=100.00K cost=8641212
-|  |  |  in pipelines: 10(GETNEXT)
-|  |  |
-|  |  20:NESTED LOOP JOIN [CROSS JOIN, BROADCAST]
-|  |  |  join table id: 03
-|  |  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=9,10,16 row-size=32B cardinality=2.88M cost=0
-|  |  |  in pipelines: 10(GETNEXT), 65(OPEN)
-|  |  |
-|  |  |--F39:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=16.02KB mem-reservation=0B thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[3] cpu-comparison-result=9 [max(3 (self) vs 9 (sum children))]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=03 plan-id=04 cohort-id=03
-|  |  |  |  mem-estimate=16B mem-reservation=0B thread-reservation=0 cost=0
-|  |  |  |
-|  |  |  66:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=16 row-size=16B cardinality=1 cost=3
-|  |  |  |  in pipelines: 65(GETNEXT)
-|  |  |  |
-|  |  |  F12:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  |  |  Per-Instance Resources: mem-estimate=96.00KB mem-reservation=0B thread-reservation=1
-|  |  |  max-parallelism=2 segment-costs=[2, 1] cpu-comparison-result=9 [max(2 (self) vs 9 (sum children))]
-|  |  |  65:AGGREGATE [FINALIZE]
-|  |  |  |  output: max:merge(csales)
-|  |  |  |  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  |  |  |  tuple-ids=16 row-size=16B cardinality=1 cost=1
-|  |  |  |  in pipelines: 65(GETNEXT), 18(OPEN)
-|  |  |  |
-|  |  |  64:EXCHANGE [UNPARTITIONED]
-|  |  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=16 row-size=16B cardinality=1 cost=1
-|  |  |  |  in pipelines: 18(GETNEXT)
-|  |  |  |
-|  |  |  F11:PLAN FRAGMENT [HASH(c_customer_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=10.85MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  max-parallelism=6 segment-costs=[202344, 100000, 1] cpu-comparison-result=9 [max(6 (self) vs 9 (sum children))]
-|  |  |  18:AGGREGATE
-|  |  |  |  output: max(sum(ss_quantity * ss_sales_price))
-|  |  |  |  mem-estimate=16.00KB mem-reservation=0B spill-buffer=2.00MB thread-reservation=0
-|  |  |  |  tuple-ids=16 row-size=16B cardinality=1 cost=100000
-|  |  |  |  in pipelines: 18(GETNEXT), 63(OPEN)
-|  |  |  |
-|  |  |  63:AGGREGATE [FINALIZE]
-|  |  |  |  output: sum:merge(ss_quantity * ss_sales_price)
-|  |  |  |  group by: c_customer_sk
-|  |  |  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=14 row-size=20B cardinality=100.00K cost=200000
-|  |  |  |  in pipelines: 63(GETNEXT), 12(OPEN)
-|  |  |  |
-|  |  |  62:EXCHANGE [HASH(c_customer_sk)]
-|  |  |  |  mem-estimate=867.04KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=14 row-size=20B cardinality=100.00K cost=2344
-|  |  |  |  in pipelines: 12(GETNEXT)
-|  |  |  |
-|  |  |  F08:PLAN FRAGMENT [RANDOM] hosts=3 instances=9 (adjusted from 48)
-|  |  |  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=26.56MB mem-reservation=6.00MB thread-reservation=1
-|  |  |  max-parallelism=9 segment-costs=[84004956, 2344] cpu-comparison-result=9 [max(9 (self) vs 8 (sum children))]
-|  |  |  17:AGGREGATE [STREAMING]
-|  |  |  |  output: sum(CAST(ss_quantity AS DECIMAL(10,0)) * ss_sales_price)
-|  |  |  |  group by: c_customer_sk
-|  |  |  |  mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-|  |  |  |  tuple-ids=14 row-size=20B cardinality=100.00K cost=4709082
-|  |  |  |  in pipelines: 12(GETNEXT)
-|  |  |  |
-|  |  |  16:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=04
-|  |  |  |  hash predicates: ss_customer_sk = c_customer_sk
-|  |  |  |  fk/pk conjuncts: ss_customer_sk = c_customer_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-|  |  |  |  tuple-ids=11,13,12 row-size=28B cardinality=2.35M cost=2354541
-|  |  |  |  in pipelines: 12(GETNEXT), 13(OPEN)
-|  |  |  |
-|  |  |  |--F40:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=14.64MB mem-reservation=14.25MB thread-reservation=1
-|  |  |  |  |  max-parallelism=3 segment-costs=[102346]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=04 plan-id=05 cohort-id=04
-|  |  |  |  |  build expressions: c_customer_sk
-|  |  |  |  |  runtime filters: RF015[min_max] <- c_customer_sk
-|  |  |  |  |  mem-estimate=14.25MB mem-reservation=14.25MB spill-buffer=256.00KB thread-reservation=0 cost=100000
-|  |  |  |  |
-|  |  |  |  61:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=398.62KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=12 row-size=4B cardinality=100.00K cost=2346
-|  |  |  |  |  in pipelines: 13(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F10:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  |  Per-Instance Resources: mem-estimate=16.03MB mem-reservation=512.00KB thread-reservation=1
-|  |  |  |  max-parallelism=1 segment-costs=[51173]
-|  |  |  |  13:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=5.49MB
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=100.00K size=5.49MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=100.00K
-|  |  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |  |     tuple-ids=12 row-size=4B cardinality=100.00K cost=50391
-|  |  |  |     in pipelines: 13(GETNEXT)
-|  |  |  |
-|  |  |  15:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  |  hash-table-id=05
-|  |  |  |  hash predicates: ss_sold_date_sk = d_date_sk
-|  |  |  |  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  |  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  |  tuple-ids=11,13 row-size=24B cardinality=2.35M cost=2354541
-|  |  |  |  in pipelines: 12(GETNEXT), 14(OPEN)
-|  |  |  |
-|  |  |  |--F41:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  |  Per-Instance Resources: mem-estimate=6.84MB mem-reservation=6.81MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  |  |  max-parallelism=3 segment-costs=[1545]
-|  |  |  |  JOIN BUILD
-|  |  |  |  |  join-table-id=05 plan-id=06 cohort-id=04
-|  |  |  |  |  build expressions: d_date_sk
-|  |  |  |  |  runtime filters: RF016[bloom] <- d_date_sk
-|  |  |  |  |  mem-estimate=5.81MB mem-reservation=5.81MB spill-buffer=64.00KB thread-reservation=0 cost=1491
-|  |  |  |  |
-|  |  |  |  60:EXCHANGE [BROADCAST]
-|  |  |  |  |  mem-estimate=23.65KB mem-reservation=0B thread-reservation=0
-|  |  |  |  |  tuple-ids=13 row-size=8B cardinality=1.49K cost=54
-|  |  |  |  |  in pipelines: 14(GETNEXT)
-|  |  |  |  |
-|  |  |  |  F09: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=[123638]
-|  |  |  |  14:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |  |     predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |  |  |     stored statistics:
-|  |  |  |       table: rows=73.05K size=2.15MB
-|  |  |  |       columns: all
-|  |  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |  |     parquet statistics predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |  |  |     parquet dictionary predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|  |  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |  |     tuple-ids=13 row-size=8B cardinality=1.49K cost=123620
-|  |  |  |     in pipelines: 14(GETNEXT)
-|  |  |  |
-|  |  |  12:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|  |  |     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|  |  |     runtime filters: RF015[min_max] -> ss_customer_sk, RF016[bloom] -> ss_sold_date_sk
-|  |  |     stored statistics:
-|  |  |       table: rows=2.88M size=199.36MB
-|  |  |       partitions: 1824/1824 rows=2.88M
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=130.09K est-scan-range=1491(filtered from 1824)
-|  |  |     mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-|  |  |     tuple-ids=11 row-size=16B cardinality=2.35M(filtered from 2.88M) cost=74586792
-|  |  |     in pipelines: 12(GETNEXT)
-|  |  |
-|  |  19:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=06
-|  |  |  hash predicates: ss_customer_sk = c_customer_sk
-|  |  |  fk/pk conjuncts: ss_customer_sk = c_customer_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-|  |  |  tuple-ids=9,10 row-size=16B cardinality=2.88M cost=2880404
-|  |  |  in pipelines: 10(GETNEXT), 11(OPEN)
-|  |  |
-|  |  |--F42:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=19.39MB mem-reservation=19.00MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[102346]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=06 plan-id=07 cohort-id=03
-|  |  |  |  build expressions: c_customer_sk
-|  |  |  |  runtime filters: RF013[min_max] <- c_customer_sk
-|  |  |  |  mem-estimate=19.00MB mem-reservation=19.00MB spill-buffer=256.00KB thread-reservation=0 cost=100000
-|  |  |  |
-|  |  |  59:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=398.62KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=10 row-size=4B cardinality=100.00K cost=2346
-|  |  |  |  in pipelines: 11(GETNEXT)
-|  |  |  |
-|  |  |  F07:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  |  Per-Instance Resources: mem-estimate=16.03MB mem-reservation=512.00KB thread-reservation=1
-|  |  |  max-parallelism=1 segment-costs=[51173]
-|  |  |  11:SCAN HDFS [tpcds_partitioned_parquet_snap.customer, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=5.49MB
-|  |  |     runtime filters: RF007[min_max] -> tpcds_partitioned_parquet_snap.customer.c_customer_sk
-|  |  |     stored statistics:
-|  |  |       table: rows=100.00K size=5.49MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=100.00K
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=10 row-size=4B cardinality=100.00K cost=50391
-|  |  |     in pipelines: 11(GETNEXT)
-|  |  |
-|  |  10:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|  |     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|  |     runtime filters: RF007[min_max] -> tpcds_partitioned_parquet_snap.store_sales.ss_customer_sk, RF013[min_max] -> ss_customer_sk
-|  |     stored statistics:
-|  |       table: rows=2.88M size=199.36MB
-|  |       partitions: 1824/1824 rows=2.88M
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=130.09K
-|  |     mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-|  |     tuple-ids=9 row-size=12B cardinality=2.88M cost=91233752
-|  |     in pipelines: 10(GETNEXT)
-|  |
-|  69:EXCHANGE [HASH(cs_bill_customer_sk)]
-|  |  mem-estimate=1.23MB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=0,2 row-size=36B cardinality=85.03K cost=3654
-|  |  in pipelines: 01(GETNEXT)
-|  |
-|  F04:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
-|  Per-Host Shared Resources: mem-estimate=2.00MB mem-reservation=2.00MB thread-reservation=0 runtime-filters-memory=2.00MB
-|  Per-Instance Resources: mem-estimate=17.03MB mem-reservation=128.00KB thread-reservation=1
-|  max-parallelism=6 segment-costs=[5540676]
-|  22:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=07
-|  |  hash predicates: cs_sold_date_sk = d_date_sk
-|  |  fk/pk conjuncts: cs_sold_date_sk = d_date_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=0,2 row-size=36B cardinality=85.03K cost=85029
-|  |  in pipelines: 01(GETNEXT), 03(OPEN)
-|  |
-|  |--F43:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=4.89MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=3 segment-costs=[114]
-|  |  JOIN BUILD
-|  |  |  join-table-id=07 plan-id=08 cohort-id=02
-|  |  |  build expressions: d_date_sk
-|  |  |  runtime filters: RF010[bloom] <- d_date_sk
-|  |  |  mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0 cost=108
-|  |  |
-|  |  58:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=2 row-size=12B cardinality=108 cost=6
-|  |  |  in pipelines: 03(GETNEXT)
-|  |  |
-|  |  F05: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=[196957]
-|  |  03:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |     predicates: d_year = CAST(2000 AS INT), d_moy = CAST(2 AS INT)
-|  |     stored statistics:
-|  |       table: rows=73.05K size=2.15MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |     parquet statistics predicates: d_year = CAST(2000 AS INT), d_moy = CAST(2 AS INT)
-|  |     parquet dictionary predicates: d_year = CAST(2000 AS INT), d_moy = CAST(2 AS INT)
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=2 row-size=12B cardinality=108 cost=196955
-|  |     in pipelines: 03(GETNEXT)
-|  |
-|  01:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
-|     HDFS partitions=1831/1831 files=1831 size=151.13MB
-|     runtime filters: RF009[min_max] -> cs_bill_customer_sk, RF007[min_max] -> cs_bill_customer_sk, RF010[bloom] -> cs_sold_date_sk, RF008[bloom] -> cs_bill_customer_sk
-|     stored statistics:
-|       table: rows=1.44M size=151.13MB
-|       partitions: 1831/1831 rows=1.44M
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=7.18K est-scan-range=109(filtered from 1831)
-|     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|     tuple-ids=0 row-size=24B cardinality=85.03K(filtered from 1.44M) cost=5451993
-|     in pipelines: 01(GETNEXT)
-|
-71:EXCHANGE [HASH(i_item_sk)]
-|  mem-estimate=4.06MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=7 row-size=50B cardinality=235.45K cost=12417
-|  in pipelines: 57(GETNEXT)
-|
-F03:PLAN FRAGMENT [HASH(itemdesc,i_item_sk,d_date)] hosts=3 instances=6 (adjusted from 48)
-Per-Instance Resources: mem-estimate=44.47MB mem-reservation=34.00MB thread-reservation=1
-max-parallelism=6 segment-costs=[9542330, 12417] cpu-comparison-result=9 [max(6 (self) vs 9 (sum children))]
-57:AGGREGATE [FINALIZE]
-|  output: count:merge(*)
-|  group by: itemdesc, i_item_sk, d_date
-|  having: count(*) > CAST(4 AS BIGINT)
-|  mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=2.00MB thread-reservation=0
-|  tuple-ids=7 row-size=50B cardinality=235.45K cost=9418164
-|  in pipelines: 57(GETNEXT), 04(OPEN)
-|
-56:EXCHANGE [HASH(itemdesc,i_item_sk,d_date)]
-|  mem-estimate=10.47MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=7 row-size=50B cardinality=2.35M cost=124166
-|  in pipelines: 04(GETNEXT)
-|
-F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=9 (adjusted from 48)
-Per-Host Shared Resources: mem-estimate=2.00MB mem-reservation=2.00MB thread-reservation=0 runtime-filters-memory=2.00MB
-Per-Instance Resources: mem-estimate=34.27MB mem-reservation=17.50MB thread-reservation=1
-max-parallelism=9 segment-costs=[88704838, 124166] cpu-comparison-result=9 [max(9 (self) vs 8 (sum children))]
-09:AGGREGATE [STREAMING]
-|  output: count(*)
-|  group by: substring(i_item_desc, CAST(1 AS BIGINT), CAST(30 AS BIGINT)), tpcds_partitioned_parquet_snap.item.i_item_sk, d_date
-|  mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=1.00MB thread-reservation=0
-|  tuple-ids=7 row-size=50B cardinality=2.35M cost=9418164
-|  in pipelines: 04(GETNEXT)
-|
-08:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash-table-id=08
-|  hash predicates: ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
-|  fk/pk conjuncts: ss_item_sk = tpcds_partitioned_parquet_snap.item.i_item_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-|  tuple-ids=3,4,5 row-size=162B cardinality=2.35M cost=2354541
-|  in pipelines: 04(GETNEXT), 06(OPEN)
-|
-|--F44:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=16.44MB mem-reservation=14.25MB thread-reservation=1
-|  |  max-parallelism=3 segment-costs=[24564]
-|  JOIN BUILD
-|  |  join-table-id=08 plan-id=09 cohort-id=01
-|  |  build expressions: tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  runtime filters: RF003[min_max] <- tpcds_partitioned_parquet_snap.item.i_item_sk
-|  |  mem-estimate=14.25MB mem-reservation=14.25MB spill-buffer=256.00KB thread-reservation=0 cost=18000
-|  |
-|  55:EXCHANGE [BROADCAST]
-|  |  mem-estimate=2.19MB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=5 row-size=120B cardinality=18.00K cost=6564
-|  |  in pipelines: 06(GETNEXT)
-|  |
-|  F02:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
-|  Per-Instance Resources: mem-estimate=16.49MB mem-reservation=2.00MB thread-reservation=1
-|  max-parallelism=1 segment-costs=[54306]
-|  06:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|     HDFS partitions=1/1 files=1 size=1.73MB
-|     runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.item.i_item_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.item.i_item_sk
-|     stored statistics:
-|       table: rows=18.00K size=1.73MB
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|     mem-estimate=16.00MB mem-reservation=2.00MB thread-reservation=0
-|     tuple-ids=5 row-size=120B cardinality=18.00K cost=52118
-|     in pipelines: 06(GETNEXT)
-|
-07:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash-table-id=09
-|  hash predicates: ss_sold_date_sk = d_date_sk
-|  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=3,4 row-size=42B cardinality=2.35M cost=2354541
-|  in pipelines: 04(GETNEXT), 05(OPEN)
-|
-|--F45:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=6.89MB mem-reservation=6.81MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=3 segment-costs=[1641]
-|  JOIN BUILD
-|  |  join-table-id=09 plan-id=10 cohort-id=01
-|  |  build expressions: d_date_sk
-|  |  runtime filters: RF004[bloom] <- d_date_sk
-|  |  mem-estimate=5.81MB mem-reservation=5.81MB spill-buffer=64.00KB thread-reservation=0 cost=1491
-|  |
-|  54:EXCHANGE [BROADCAST]
-|  |  mem-estimate=77.68KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=4 row-size=30B cardinality=1.49K cost=150
-|  |  in pipelines: 05(GETNEXT)
-|  |
-|  F01:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  Per-Instance Resources: mem-estimate=16.13MB mem-reservation=2.00MB thread-reservation=1
-|  max-parallelism=1 segment-costs=[125240]
-|  05:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|     HDFS partitions=1/1 files=1 size=2.15MB
-|     predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|     stored statistics:
-|       table: rows=73.05K size=2.15MB
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|     parquet statistics predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|     parquet dictionary predicates: d_year IN (CAST(2000 AS INT), CAST(2001 AS INT), CAST(2002 AS INT), CAST(2003 AS INT))
-|     mem-estimate=16.00MB mem-reservation=2.00MB thread-reservation=0
-|     tuple-ids=4 row-size=30B cardinality=1.49K cost=125190
-|     in pipelines: 05(GETNEXT)
-|
-04:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-   HDFS partitions=1824/1824 files=1824 size=199.36MB
-   runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.store_sales.ss_item_sk, RF003[min_max] -> ss_item_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store_sales.ss_item_sk, RF004[bloom] -> ss_sold_date_sk
-   stored statistics:
-     table: rows=2.88M size=199.36MB
-     partitions: 1824/1824 rows=2.88M
-     columns: all
-   extrapolated-rows=disabled max-scan-range-rows=130.09K est-scan-range=1491(filtered from 1824)
-   mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-   tuple-ids=3 row-size=12B cardinality=2.35M(filtered from 2.88M) cost=74577592
-   in pipelines: 04(GETNEXT)
-====
-# TPCDS-Q49
-SELECT channel,
-       item,
-       return_ratio,
-       return_rank,
-       currency_rank
-FROM
-  (SELECT 'web' AS channel,
-          web.item,
-          web.return_ratio,
-          web.return_rank,
-          web.currency_rank
-   FROM
-     (SELECT item,
-             return_ratio,
-             currency_ratio,
-             rank() OVER (
-                          ORDER BY return_ratio) AS return_rank,
-                         rank() OVER (
-                                      ORDER BY currency_ratio) AS currency_rank
-      FROM
-        (SELECT ws.ws_item_sk AS item,
-                (cast(sum(coalesce(wr.wr_return_quantity,0)) AS decimal(15,4))/ cast(sum(coalesce(ws.ws_quantity,0)) AS decimal(15,4))) AS return_ratio,
-                (cast(sum(coalesce(wr.wr_return_amt,0)) AS decimal(15,4))/ cast(sum(coalesce(ws.ws_net_paid,0)) AS decimal(15,4))) AS currency_ratio
-         FROM web_sales ws
-         LEFT OUTER JOIN web_returns wr ON (ws.ws_order_number = wr.wr_order_number
-                                            AND ws.ws_item_sk = wr.wr_item_sk) ,date_dim
-         WHERE wr.wr_return_amt > 10000
-           AND ws.ws_net_profit > 1
-           AND ws.ws_net_paid > 0
-           AND ws.ws_quantity > 0
-           AND ws_sold_date_sk = d_date_sk
-           AND d_year = 2001
-           AND d_moy = 12
-         GROUP BY ws.ws_item_sk) in_web) web
-   WHERE (web.return_rank <= 10
-          OR web.currency_rank <= 10)
-   UNION SELECT 'catalog' AS channel,
-                catalog.item,
-                catalog.return_ratio,
-                catalog.return_rank,
-                catalog.currency_rank
-   FROM
-     (SELECT item,
-             return_ratio,
-             currency_ratio,
-             rank() OVER (
-                          ORDER BY return_ratio) AS return_rank,
-                         rank() OVER (
-                                      ORDER BY currency_ratio) AS currency_rank
-      FROM
-        (SELECT cs.cs_item_sk AS item,
-                (cast(sum(coalesce(cr.cr_return_quantity,0)) AS decimal(15,4))/ cast(sum(coalesce(cs.cs_quantity,0)) AS decimal(15,4))) AS return_ratio,
-                (cast(sum(coalesce(cr.cr_return_amount,0)) AS decimal(15,4))/ cast(sum(coalesce(cs.cs_net_paid,0)) AS decimal(15,4))) AS currency_ratio
-         FROM catalog_sales cs
-         LEFT OUTER JOIN catalog_returns cr ON (cs.cs_order_number = cr.cr_order_number
-                                                AND cs.cs_item_sk = cr.cr_item_sk) ,date_dim
-         WHERE cr.cr_return_amount > 10000
-           AND cs.cs_net_profit > 1
-           AND cs.cs_net_paid > 0
-           AND cs.cs_quantity > 0
-           AND cs_sold_date_sk = d_date_sk
-           AND d_year = 2001
-           AND d_moy = 12
-         GROUP BY cs.cs_item_sk) in_cat) CATALOG
-   WHERE (catalog.return_rank <= 10
-          OR catalog.currency_rank <=10)
-   UNION SELECT 'store' AS channel,
-                store.item,
-                store.return_ratio,
-                store.return_rank,
-                store.currency_rank
-   FROM
-     (SELECT item,
-             return_ratio,
-             currency_ratio,
-             rank() OVER (
-                          ORDER BY return_ratio) AS return_rank,
-                         rank() OVER (
-                                      ORDER BY currency_ratio) AS currency_rank
-      FROM
-        (SELECT sts.ss_item_sk AS item,
-                (cast(sum(coalesce(sr.sr_return_quantity,0)) AS decimal(15,4))/cast(sum(coalesce(sts.ss_quantity,0)) AS decimal(15,4))) AS return_ratio,
-                (cast(sum(coalesce(sr.sr_return_amt,0)) AS decimal(15,4))/cast(sum(coalesce(sts.ss_net_paid,0)) AS decimal(15,4))) AS currency_ratio
-         FROM store_sales sts
-         LEFT OUTER JOIN store_returns sr ON (sts.ss_ticket_number = sr.sr_ticket_number
-                                              AND sts.ss_item_sk = sr.sr_item_sk) ,date_dim
-         WHERE sr.sr_return_amt > 10000
-           AND sts.ss_net_profit > 1
-           AND sts.ss_net_paid > 0
-           AND sts.ss_quantity > 0
-           AND ss_sold_date_sk = d_date_sk
-           AND d_year = 2001
-           AND d_moy = 12
-         GROUP BY sts.ss_item_sk) in_store) store
-   WHERE (store.return_rank <= 10
-          OR store.currency_rank <= 10) ) sq1
-ORDER BY 1,
-         4,
-         5,
-         2
-LIMIT 100;
-
----- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=116.69MB Threads=43
-Per-Host Resource Estimates: Memory=582MB
-F18:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Instance Resources: mem-estimate=24.84MB mem-reservation=15.94MB thread-reservation=1
-|  max-parallelism=1 segment-costs=[8837, 17638, 35376, 119276, 400, 500] cpu-comparison-result=66 [max(1 (self) vs 66 (sum children))]
-PLAN-ROOT SINK
-|  output exprs: channel, item, return_ratio, return_rank, currency_rank
-|  mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=500
-|
-35:TOP-N [LIMIT=100]
-|  order by: channel ASC, return_rank ASC, currency_rank ASC, item ASC
-|  mem-estimate=5.08KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=26 row-size=52B cardinality=100 cost=400
-|  in pipelines: 35(GETNEXT), 34(OPEN)
-|
-34:AGGREGATE [FINALIZE]
-|  group by: channel, item, return_ratio, return_rank, currency_rank
-|  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=24 row-size=52B cardinality=2.98K cost=14910
-|  in pipelines: 34(GETNEXT), 09(OPEN), 20(OPEN), 31(OPEN)
-|
-00:UNION
-|  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  tuple-ids=24 row-size=52B cardinality=2.98K cost=44730
-|  in pipelines: 09(GETNEXT), 20(GETNEXT), 31(GETNEXT)
-|
-|--33:SELECT
-|  |  predicates: (rank() <= CAST(10 AS BIGINT) OR rank() <= CAST(10 AS BIGINT))
-|  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=58,55 row-size=104B cardinality=1.71K cost=17055
-|  |  in pipelines: 31(GETNEXT)
-|  |
-|  32:ANALYTIC
-|  |  functions: rank()
-|  |  order by: (CAST(sum(coalesce(sr.sr_return_amt, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(sts.ss_net_paid, 0)) AS DECIMAL(15,4))) ASC
-|  |  window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
-|  |  mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
-|  |  tuple-ids=58,55 row-size=104B cardinality=17.05K cost=17055
-|  |  in pipelines: 31(GETNEXT)
-|  |
-|  31:SORT
-|  |  order by: (CAST(sum(coalesce(sr.sr_return_amt, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(sts.ss_net_paid, 0)) AS DECIMAL(15,4))) ASC
-|  |  materialized: (CAST(sum(coalesce(sr.sr_return_amt, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(sts.ss_net_paid, 0)) AS DECIMAL(15,4)))
-|  |  mem-estimate=6.00MB mem-reservation=6.00MB spill-buffer=2.00MB thread-reservation=0
-|  |  tuple-ids=58 row-size=96B cardinality=17.05K cost=17055
-|  |  in pipelines: 31(GETNEXT), 29(OPEN)
-|  |
-|  30:ANALYTIC
-|  |  functions: rank()
-|  |  order by: (CAST(sum(coalesce(sr.sr_return_quantity, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(sts.ss_quantity, 0)) AS DECIMAL(15,4))) ASC
-|  |  window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
-|  |  mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
-|  |  tuple-ids=56,53 row-size=80B cardinality=17.05K cost=17055
-|  |  in pipelines: 29(GETNEXT)
-|  |
-|  53:MERGING-EXCHANGE [UNPARTITIONED]
-|  |  order by: (CAST(sum(coalesce(sr.sr_return_quantity, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(sts.ss_quantity, 0)) AS DECIMAL(15,4))) ASC
-|  |  mem-estimate=855.73KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=56 row-size=72B cardinality=17.05K cost=1266
-|  |  in pipelines: 29(GETNEXT)
-|  |
-|  F16:PLAN FRAGMENT [HASH(sts.ss_item_sk)] hosts=3 instances=6 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=16.00MB mem-reservation=7.94MB thread-reservation=1
-|  max-parallelism=6 segment-costs=[86275, 17055, 1266] cpu-comparison-result=22 [max(6 (self) vs 22 (sum children))]
-|  29:SORT
-|  |  order by: (CAST(sum(coalesce(sr.sr_return_quantity, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(sts.ss_quantity, 0)) AS DECIMAL(15,4))) ASC
-|  |  materialized: (CAST(sum(coalesce(sr.sr_return_quantity, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(sts.ss_quantity, 0)) AS DECIMAL(15,4)))
-|  |  mem-estimate=6.00MB mem-reservation=6.00MB spill-buffer=2.00MB thread-reservation=0
-|  |  tuple-ids=56 row-size=72B cardinality=17.05K cost=17055
-|  |  in pipelines: 29(GETNEXT), 52(OPEN)
-|  |
-|  52:AGGREGATE [FINALIZE]
-|  |  output: sum:merge(coalesce(sr.sr_return_quantity, 0)), sum:merge(coalesce(sts.ss_quantity, 0)), sum:merge(coalesce(sr.sr_return_amt, 0)), sum:merge(coalesce(sts.ss_net_paid, 0))
-|  |  group by: sts.ss_item_sk
-|  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=19 row-size=56B cardinality=17.05K cost=85275
-|  |  in pipelines: 52(GETNEXT), 23(OPEN)
-|  |
-|  51:EXCHANGE [HASH(sts.ss_item_sk)]
-|  |  mem-estimate=670.90KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=19 row-size=56B cardinality=17.05K cost=1000
-|  |  in pipelines: 23(GETNEXT)
-|  |
-|  F14:PLAN FRAGMENT [HASH(sts.ss_item_sk,sts.ss_ticket_number)] hosts=3 instances=6 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=14.55MB mem-reservation=2.00MB thread-reservation=1
-|  max-parallelism=6 segment-costs=[602921, 1000] cpu-comparison-result=22 [max(12 (self) vs 22 (sum children))]
-|  28:AGGREGATE [STREAMING]
-|  |  output: sum(CAST(coalesce(sr.sr_return_quantity, CAST(0 AS INT)) AS BIGINT)), sum(CAST(coalesce(sts.ss_quantity, CAST(0 AS INT)) AS BIGINT)), sum(coalesce(sr.sr_return_amt, CAST(0 AS DECIMAL(7,2)))), sum(coalesce(sts.ss_net_paid, CAST(0 AS DECIMAL(7,2))))
-|  |  group by: sts.ss_item_sk
-|  |  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=19 row-size=56B cardinality=17.05K cost=85275
-|  |  in pipelines: 23(GETNEXT)
-|  |
-|  27:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=04
-|  |  hash predicates: ss_sold_date_sk = d_date_sk
-|  |  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=16,17N,18 row-size=68B cardinality=17.05K cost=170550
-|  |  in pipelines: 23(GETNEXT), 25(OPEN)
-|  |
-|  |--F23:PLAN FRAGMENT [HASH(sts.ss_item_sk,sts.ss_ticket_number)] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=4.89MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=3 segment-costs=[114]
-|  |  JOIN BUILD
-|  |  |  join-table-id=04 plan-id=05 cohort-id=03
-|  |  |  build expressions: d_date_sk
-|  |  |  runtime filters: RF004[bloom] <- d_date_sk
-|  |  |  mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0 cost=108
-|  |  |
-|  |  50:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=18 row-size=12B cardinality=108 cost=6
-|  |  |  in pipelines: 25(GETNEXT)
-|  |  |
-|  |  F15: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=[196957]
-|  |  25:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |     predicates: d_year = CAST(2001 AS INT), d_moy = CAST(12 AS INT)
-|  |     stored statistics:
-|  |       table: rows=73.05K size=2.15MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |     parquet statistics predicates: d_year = CAST(2001 AS INT), d_moy = CAST(12 AS INT)
-|  |     parquet dictionary predicates: d_year = CAST(2001 AS INT), d_moy = CAST(12 AS INT)
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=18 row-size=12B cardinality=108 cost=196955
-|  |     in pipelines: 25(GETNEXT)
-|  |
-|  26:HASH JOIN [LEFT OUTER JOIN, PARTITIONED]
-|  |  hash-table-id=05
-|  |  hash predicates: sts.ss_item_sk = sr.sr_item_sk, sts.ss_ticket_number = sr.sr_ticket_number
-|  |  fk/pk conjuncts: sts.ss_item_sk = sr.sr_item_sk, sts.ss_ticket_number = sr.sr_ticket_number
-|  |  other predicates: sr.sr_return_amt > CAST(10000 AS DECIMAL(5,0))
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=16,17N row-size=56B cardinality=170.55K(filtered from 288.04K) cost=341100
-|  |  in pipelines: 23(GETNEXT), 24(OPEN)
-|  |
-|  |--F24:PLAN FRAGMENT [HASH(sts.ss_item_sk,sts.ss_ticket_number)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=2.48MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  max-parallelism=6 segment-costs=[58289]
-|  |  JOIN BUILD
-|  |  |  join-table-id=05 plan-id=06 cohort-id=03
-|  |  |  build expressions: sr.sr_item_sk, sr.sr_ticket_number
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=57502
-|  |  |
-|  |  49:EXCHANGE [HASH(sr.sr_item_sk,sr.sr_ticket_number)]
-|  |  |  mem-estimate=560.62KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=17 row-size=24B cardinality=28.75K cost=787
-|  |  |  in pipelines: 24(GETNEXT)
-|  |  |
-|  |  F13:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=16.66MB mem-reservation=256.00KB thread-reservation=1
-|  |  max-parallelism=12 segment-costs=[100495035]
-|  |  24:SCAN HDFS [tpcds_partitioned_parquet_snap.store_returns sr, RANDOM]
-|  |     HDFS partitions=2004/2004 files=2004 size=33.80MB
-|  |     predicates: sr.sr_return_amt > CAST(10000 AS DECIMAL(5,0))
-|  |     stored statistics:
-|  |       table: rows=287.51K size=33.80MB
-|  |       partitions: 2004/2004 rows=287.51K
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=10.01K
-|  |     parquet statistics predicates: sr.sr_return_amt > CAST(10000 AS DECIMAL(5,0))
-|  |     parquet dictionary predicates: sr.sr_return_amt > CAST(10000 AS DECIMAL(5,0))
-|  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |     tuple-ids=17 row-size=24B cardinality=28.75K cost=100494248
-|  |     in pipelines: 24(GETNEXT)
-|  |
-|  48:EXCHANGE [HASH(sts.ss_item_sk,sts.ss_ticket_number)]
-|  |  mem-estimate=3.14MB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=16 row-size=32B cardinality=170.55K(filtered from 288.04K) cost=5996
-|  |  in pipelines: 23(GETNEXT)
-|  |
-|  F12:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
-|  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=16.84MB mem-reservation=4.00MB thread-reservation=1
-|  max-parallelism=6 segment-costs=[5972976]
-|  23:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales sts, RANDOM]
-|     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|     predicates: sts.ss_net_paid > CAST(0 AS DECIMAL(3,0)), sts.ss_net_profit > CAST(1 AS DECIMAL(3,0)), sts.ss_quantity > CAST(0 AS INT)
-|     runtime filters: RF004[bloom] -> ss_sold_date_sk
-|     stored statistics:
-|       table: rows=2.88M size=199.36MB
-|       partitions: 1824/1824 rows=2.88M
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=130.09K est-scan-range=109(filtered from 1824)
-|     parquet statistics predicates: sts.ss_net_paid > CAST(0 AS DECIMAL(3,0)), sts.ss_net_profit > CAST(1 AS DECIMAL(3,0)), sts.ss_quantity > CAST(0 AS INT)
-|     parquet dictionary predicates: sts.ss_net_paid > CAST(0 AS DECIMAL(3,0)), sts.ss_net_profit > CAST(1 AS DECIMAL(3,0)), sts.ss_quantity > CAST(0 AS INT)
-|     mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-|     tuple-ids=16 row-size=32B cardinality=170.55K(filtered from 288.04K) cost=5966980
-|     in pipelines: 23(GETNEXT)
-|
-|--22:SELECT
-|  |  predicates: (rank() <= CAST(10 AS BIGINT) OR rank() <= CAST(10 AS BIGINT))
-|  |  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=47,44 row-size=104B cardinality=850 cost=8503
-|  |  in pipelines: 20(GETNEXT)
-|  |
-|  21:ANALYTIC
-|  |  functions: rank()
-|  |  order by: (CAST(sum(coalesce(cr.cr_return_amount, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(cs.cs_net_paid, 0)) AS DECIMAL(15,4))) ASC
-|  |  window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
-|  |  mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
-|  |  tuple-ids=47,44 row-size=104B cardinality=8.50K cost=8503
-|  |  in pipelines: 20(GETNEXT)
-|  |
-|  20:SORT
-|  |  order by: (CAST(sum(coalesce(cr.cr_return_amount, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(cs.cs_net_paid, 0)) AS DECIMAL(15,4))) ASC
-|  |  materialized: (CAST(sum(coalesce(cr.cr_return_amount, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(cs.cs_net_paid, 0)) AS DECIMAL(15,4)))
-|  |  mem-estimate=6.00MB mem-reservation=6.00MB spill-buffer=2.00MB thread-reservation=0
-|  |  tuple-ids=47 row-size=96B cardinality=8.50K cost=8503
-|  |  in pipelines: 20(GETNEXT), 18(OPEN)
-|  |
-|  19:ANALYTIC
-|  |  functions: rank()
-|  |  order by: (CAST(sum(coalesce(cr.cr_return_quantity, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(cs.cs_quantity, 0)) AS DECIMAL(15,4))) ASC
-|  |  window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
-|  |  mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
-|  |  tuple-ids=45,42 row-size=80B cardinality=8.50K cost=8503
-|  |  in pipelines: 18(GETNEXT)
-|  |
-|  47:MERGING-EXCHANGE [UNPARTITIONED]
-|  |  order by: (CAST(sum(coalesce(cr.cr_return_quantity, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(cs.cs_quantity, 0)) AS DECIMAL(15,4))) ASC
-|  |  mem-estimate=655.29KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=45 row-size=72B cardinality=8.50K cost=632
-|  |  in pipelines: 18(GETNEXT)
-|  |
-|  F10:PLAN FRAGMENT [HASH(cs.cs_item_sk)] hosts=3 instances=6 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=16.00MB mem-reservation=7.94MB thread-reservation=1
-|  max-parallelism=6 segment-costs=[43014, 8503, 632] cpu-comparison-result=22 [max(6 (self) vs 22 (sum children))]
-|  18:SORT
-|  |  order by: (CAST(sum(coalesce(cr.cr_return_quantity, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(cs.cs_quantity, 0)) AS DECIMAL(15,4))) ASC
-|  |  materialized: (CAST(sum(coalesce(cr.cr_return_quantity, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(cs.cs_quantity, 0)) AS DECIMAL(15,4)))
-|  |  mem-estimate=6.00MB mem-reservation=6.00MB spill-buffer=2.00MB thread-reservation=0
-|  |  tuple-ids=45 row-size=72B cardinality=8.50K cost=8503
-|  |  in pipelines: 18(GETNEXT), 46(OPEN)
-|  |
-|  46:AGGREGATE [FINALIZE]
-|  |  output: sum:merge(coalesce(cr.cr_return_quantity, 0)), sum:merge(coalesce(cs.cs_quantity, 0)), sum:merge(coalesce(cr.cr_return_amount, 0)), sum:merge(coalesce(cs.cs_net_paid, 0))
-|  |  group by: cs.cs_item_sk
-|  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=11 row-size=56B cardinality=8.50K cost=42515
-|  |  in pipelines: 46(GETNEXT), 12(OPEN)
-|  |
-|  45:EXCHANGE [HASH(cs.cs_item_sk)]
-|  |  mem-estimate=515.00KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=11 row-size=56B cardinality=8.50K cost=499
-|  |  in pipelines: 12(GETNEXT)
-|  |
-|  F08:PLAN FRAGMENT [HASH(cs.cs_item_sk,cs.cs_order_number)] hosts=3 instances=6 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=13.08MB mem-reservation=2.00MB thread-reservation=1
-|  max-parallelism=6 segment-costs=[300592, 499] cpu-comparison-result=22 [max(12 (self) vs 22 (sum children))]
-|  17:AGGREGATE [STREAMING]
-|  |  output: sum(CAST(coalesce(cr.cr_return_quantity, CAST(0 AS INT)) AS BIGINT)), sum(CAST(coalesce(cs.cs_quantity, CAST(0 AS INT)) AS BIGINT)), sum(coalesce(cr.cr_return_amount, CAST(0 AS DECIMAL(7,2)))), sum(coalesce(cs.cs_net_paid, CAST(0 AS DECIMAL(7,2))))
-|  |  group by: cs.cs_item_sk
-|  |  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=11 row-size=56B cardinality=8.50K cost=42515
-|  |  in pipelines: 12(GETNEXT)
-|  |
-|  16:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=02
-|  |  hash predicates: cs_sold_date_sk = d_date_sk
-|  |  fk/pk conjuncts: cs_sold_date_sk = d_date_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=8,9N,10 row-size=68B cardinality=8.50K cost=85029
-|  |  in pipelines: 12(GETNEXT), 14(OPEN)
-|  |
-|  |--F21:PLAN FRAGMENT [HASH(cs.cs_item_sk,cs.cs_order_number)] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=4.89MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=3 segment-costs=[114]
-|  |  JOIN BUILD
-|  |  |  join-table-id=02 plan-id=03 cohort-id=02
-|  |  |  build expressions: d_date_sk
-|  |  |  runtime filters: RF002[bloom] <- d_date_sk
-|  |  |  mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0 cost=108
-|  |  |
-|  |  44:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=10 row-size=12B cardinality=108 cost=6
-|  |  |  in pipelines: 14(GETNEXT)
-|  |  |
-|  |  F09: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=[196957]
-|  |  14:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |     predicates: d_year = CAST(2001 AS INT), d_moy = CAST(12 AS INT)
-|  |     stored statistics:
-|  |       table: rows=73.05K size=2.15MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |     parquet statistics predicates: d_year = CAST(2001 AS INT), d_moy = CAST(12 AS INT)
-|  |     parquet dictionary predicates: d_year = CAST(2001 AS INT), d_moy = CAST(12 AS INT)
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=10 row-size=12B cardinality=108 cost=196955
-|  |     in pipelines: 14(GETNEXT)
-|  |
-|  15:HASH JOIN [LEFT OUTER JOIN, PARTITIONED]
-|  |  hash-table-id=03
-|  |  hash predicates: cs.cs_item_sk = cr.cr_item_sk, cs.cs_order_number = cr.cr_order_number
-|  |  fk/pk conjuncts: cs.cs_item_sk = cr.cr_item_sk, cs.cs_order_number = cr.cr_order_number
-|  |  other predicates: cr.cr_return_amount > CAST(10000 AS DECIMAL(5,0))
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=8,9N row-size=56B cardinality=85.03K(filtered from 144.16K) cost=170058
-|  |  in pipelines: 12(GETNEXT), 13(OPEN)
-|  |
-|  |--F22:PLAN FRAGMENT [HASH(cs.cs_item_sk,cs.cs_order_number)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=2.38MB mem-reservation=1.94MB thread-reservation=1
-|  |  |  max-parallelism=6 segment-costs=[29208]
-|  |  JOIN BUILD
-|  |  |  join-table-id=03 plan-id=04 cohort-id=02
-|  |  |  build expressions: cr.cr_item_sk, cr.cr_order_number
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=28814
-|  |  |
-|  |  43:EXCHANGE [HASH(cr.cr_item_sk,cr.cr_order_number)]
-|  |  |  mem-estimate=448.55KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=9 row-size=24B cardinality=14.41K cost=394
-|  |  |  in pipelines: 13(GETNEXT)
-|  |  |
-|  |  F07:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=16.66MB mem-reservation=32.00KB thread-reservation=1
-|  |  max-parallelism=12 segment-costs=[103147834]
-|  |  13:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_returns cr, RANDOM]
-|  |     HDFS partitions=2060/2060 files=2060 size=30.62MB
-|  |     predicates: cr.cr_return_amount > CAST(10000 AS DECIMAL(5,0))
-|  |     stored statistics:
-|  |       table: rows=144.07K size=30.62MB
-|  |       partitions: 2060/2060 rows=144.07K
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=139
-|  |     parquet statistics predicates: cr.cr_return_amount > CAST(10000 AS DECIMAL(5,0))
-|  |     parquet dictionary predicates: cr.cr_return_amount > CAST(10000 AS DECIMAL(5,0))
-|  |     mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=0
-|  |     tuple-ids=9 row-size=24B cardinality=14.41K cost=103147440
-|  |     in pipelines: 13(GETNEXT)
-|  |
-|  42:EXCHANGE [HASH(cs.cs_item_sk,cs.cs_order_number)]
-|  |  mem-estimate=1.68MB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=8 row-size=32B cardinality=85.03K(filtered from 144.16K) cost=2990
-|  |  in pipelines: 12(GETNEXT)
-|  |
-|  F06:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
-|  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=16.84MB mem-reservation=256.00KB thread-reservation=1
-|  max-parallelism=6 segment-costs=[5710734]
-|  12:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales cs, RANDOM]
-|     HDFS partitions=1831/1831 files=1831 size=151.13MB
-|     predicates: cs.cs_net_paid > CAST(0 AS DECIMAL(3,0)), cs.cs_net_profit > CAST(1 AS DECIMAL(3,0)), cs.cs_quantity > CAST(0 AS INT)
-|     runtime filters: RF002[bloom] -> cs_sold_date_sk
-|     stored statistics:
-|       table: rows=1.44M size=151.13MB
-|       partitions: 1831/1831 rows=1.44M
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=7.18K est-scan-range=109(filtered from 1831)
-|     parquet statistics predicates: cs.cs_net_paid > CAST(0 AS DECIMAL(3,0)), cs.cs_net_profit > CAST(1 AS DECIMAL(3,0)), cs.cs_quantity > CAST(0 AS INT)
-|     parquet dictionary predicates: cs.cs_net_paid > CAST(0 AS DECIMAL(3,0)), cs.cs_net_profit > CAST(1 AS DECIMAL(3,0)), cs.cs_quantity > CAST(0 AS INT)
-|     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|     tuple-ids=8 row-size=32B cardinality=85.03K(filtered from 144.16K) cost=5707744
-|     in pipelines: 12(GETNEXT)
-|
-11:SELECT
-|  predicates: (rank() <= CAST(10 AS BIGINT) OR rank() <= CAST(10 AS BIGINT))
-|  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  tuple-ids=36,33 row-size=104B cardinality=426 cost=4260
-|  in pipelines: 09(GETNEXT)
-|
-10:ANALYTIC
-|  functions: rank()
-|  order by: (CAST(sum(coalesce(wr.wr_return_amt, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(ws.ws_net_paid, 0)) AS DECIMAL(15,4))) ASC
-|  window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
-|  mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
-|  tuple-ids=36,33 row-size=104B cardinality=4.26K cost=4260
-|  in pipelines: 09(GETNEXT)
-|
-09:SORT
-|  order by: (CAST(sum(coalesce(wr.wr_return_amt, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(ws.ws_net_paid, 0)) AS DECIMAL(15,4))) ASC
-|  materialized: (CAST(sum(coalesce(wr.wr_return_amt, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(ws.ws_net_paid, 0)) AS DECIMAL(15,4)))
-|  mem-estimate=6.00MB mem-reservation=6.00MB spill-buffer=2.00MB thread-reservation=0
-|  tuple-ids=36 row-size=96B cardinality=4.26K cost=4260
-|  in pipelines: 09(GETNEXT), 07(OPEN)
-|
-08:ANALYTIC
-|  functions: rank()
-|  order by: (CAST(sum(coalesce(wr.wr_return_quantity, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(ws.ws_quantity, 0)) AS DECIMAL(15,4))) ASC
-|  window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
-|  mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0
-|  tuple-ids=34,31 row-size=80B cardinality=4.26K cost=4260
-|  in pipelines: 07(GETNEXT)
-|
-41:MERGING-EXCHANGE [UNPARTITIONED]
-|  order by: (CAST(sum(coalesce(wr.wr_return_quantity, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(ws.ws_quantity, 0)) AS DECIMAL(15,4))) ASC
-|  mem-estimate=555.84KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=34 row-size=72B cardinality=4.26K cost=317
-|  in pipelines: 07(GETNEXT)
-|
-F04:PLAN FRAGMENT [HASH(ws.ws_item_sk)] hosts=3 instances=6 (adjusted from 48)
-Per-Instance Resources: mem-estimate=16.00MB mem-reservation=7.94MB thread-reservation=1
-max-parallelism=6 segment-costs=[21550, 4260, 317] cpu-comparison-result=22 [max(6 (self) vs 22 (sum children))]
-07:SORT
-|  order by: (CAST(sum(coalesce(wr.wr_return_quantity, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(ws.ws_quantity, 0)) AS DECIMAL(15,4))) ASC
-|  materialized: (CAST(sum(coalesce(wr.wr_return_quantity, 0)) AS DECIMAL(15,4)) / CAST(sum(coalesce(ws.ws_quantity, 0)) AS DECIMAL(15,4)))
-|  mem-estimate=6.00MB mem-reservation=6.00MB spill-buffer=2.00MB thread-reservation=0
-|  tuple-ids=34 row-size=72B cardinality=4.26K cost=4260
-|  in pipelines: 07(GETNEXT), 40(OPEN)
-|
-40:AGGREGATE [FINALIZE]
-|  output: sum:merge(coalesce(wr.wr_return_quantity, 0)), sum:merge(coalesce(ws.ws_quantity, 0)), sum:merge(coalesce(wr.wr_return_amt, 0)), sum:merge(coalesce(ws.ws_net_paid, 0))
-|  group by: ws.ws_item_sk
-|  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=3 row-size=56B cardinality=4.26K cost=21300
-|  in pipelines: 40(GETNEXT), 01(OPEN)
-|
-39:EXCHANGE [HASH(ws.ws_item_sk)]
-|  mem-estimate=437.66KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=3 row-size=56B cardinality=4.26K cost=250
-|  in pipelines: 01(GETNEXT)
-|
-F02:PLAN FRAGMENT [HASH(ws.ws_item_sk,ws.ws_order_number)] hosts=3 instances=6 (adjusted from 48)
-Per-Instance Resources: mem-estimate=12.35MB mem-reservation=2.00MB thread-reservation=1
-max-parallelism=6 segment-costs=[150583, 250] cpu-comparison-result=22 [max(12 (self) vs 22 (sum children))]
-06:AGGREGATE [STREAMING]
-|  output: sum(CAST(coalesce(wr.wr_return_quantity, CAST(0 AS INT)) AS BIGINT)), sum(CAST(coalesce(ws.ws_quantity, CAST(0 AS INT)) AS BIGINT)), sum(coalesce(wr.wr_return_amt, CAST(0 AS DECIMAL(7,2)))), sum(coalesce(ws.ws_net_paid, CAST(0 AS DECIMAL(7,2))))
-|  group by: ws.ws_item_sk
-|  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=3 row-size=56B cardinality=4.26K cost=21300
-|  in pipelines: 01(GETNEXT)
-|
-05:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash-table-id=00
-|  hash predicates: ws_sold_date_sk = d_date_sk
-|  fk/pk conjuncts: ws_sold_date_sk = d_date_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=0,1N,2 row-size=68B cardinality=4.26K cost=42595
-|  in pipelines: 01(GETNEXT), 03(OPEN)
-|
-|--F19:PLAN FRAGMENT [HASH(ws.ws_item_sk,ws.ws_order_number)] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=4.89MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=3 segment-costs=[114]
-|  JOIN BUILD
-|  |  join-table-id=00 plan-id=01 cohort-id=01
-|  |  build expressions: d_date_sk
-|  |  runtime filters: RF000[bloom] <- d_date_sk
-|  |  mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0 cost=108
-|  |
-|  38:EXCHANGE [BROADCAST]
-|  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=2 row-size=12B cardinality=108 cost=6
-|  |  in pipelines: 03(GETNEXT)
-|  |
-|  F03: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=[196957]
-|  03:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|     HDFS partitions=1/1 files=1 size=2.15MB
-|     predicates: d_year = CAST(2001 AS INT), d_moy = CAST(12 AS INT)
-|     stored statistics:
-|       table: rows=73.05K size=2.15MB
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|     parquet statistics predicates: d_year = CAST(2001 AS INT), d_moy = CAST(12 AS INT)
-|     parquet dictionary predicates: d_year = CAST(2001 AS INT), d_moy = CAST(12 AS INT)
-|     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|     tuple-ids=2 row-size=12B cardinality=108 cost=196955
-|     in pipelines: 03(GETNEXT)
-|
-04:HASH JOIN [LEFT OUTER JOIN, PARTITIONED]
-|  hash-table-id=01
-|  hash predicates: ws.ws_item_sk = wr.wr_item_sk, ws.ws_order_number = wr.wr_order_number
-|  fk/pk conjuncts: ws.ws_item_sk = wr.wr_item_sk, ws.ws_order_number = wr.wr_order_number
-|  other predicates: wr.wr_return_amt > CAST(10000 AS DECIMAL(5,0))
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=0,1N row-size=56B cardinality=42.59K(filtered from 71.94K) cost=85190
-|  in pipelines: 01(GETNEXT), 02(OPEN)
-|
-|--F20:PLAN FRAGMENT [HASH(ws.ws_item_sk,ws.ws_order_number)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=2.32MB mem-reservation=1.94MB thread-reservation=1
-|  |  max-parallelism=6 segment-costs=[14549]
-|  JOIN BUILD
-|  |  join-table-id=01 plan-id=02 cohort-id=01
-|  |  build expressions: wr.wr_item_sk, wr.wr_order_number
-|  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=14352
-|  |
-|  37:EXCHANGE [HASH(wr.wr_item_sk,wr.wr_order_number)]
-|  |  mem-estimate=392.06KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=1 row-size=24B cardinality=7.18K cost=197
-|  |  in pipelines: 02(GETNEXT)
-|  |
-|  F01:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=16.66MB mem-reservation=128.00KB thread-reservation=1
-|  max-parallelism=12 segment-costs=[105773645]
-|  02:SCAN HDFS [tpcds_partitioned_parquet_snap.web_returns wr, RANDOM]
-|     HDFS partitions=2114/2114 files=2114 size=20.82MB
-|     predicates: wr.wr_return_amt > CAST(10000 AS DECIMAL(5,0))
-|     stored statistics:
-|       table: rows=71.76K size=20.82MB
-|       partitions: 2114/2114 rows=71.76K
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=3.13K
-|     parquet statistics predicates: wr.wr_return_amt > CAST(10000 AS DECIMAL(5,0))
-|     parquet dictionary predicates: wr.wr_return_amt > CAST(10000 AS DECIMAL(5,0))
-|     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|     tuple-ids=1 row-size=24B cardinality=7.18K cost=105773448
-|     in pipelines: 02(GETNEXT)
-|
-36:EXCHANGE [HASH(ws.ws_item_sk,ws.ws_order_number)]
-|  mem-estimate=965.35KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=32B cardinality=42.59K(filtered from 71.94K) cost=1498
-|  in pipelines: 01(GETNEXT)
-|
-F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
-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=16.84MB mem-reservation=128.00KB thread-reservation=1
-max-parallelism=6 segment-costs=[5580615]
-01:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales ws, RANDOM]
-   HDFS partitions=1824/1824 files=1824 size=84.20MB
-   predicates: ws.ws_net_paid > CAST(0 AS DECIMAL(3,0)), ws.ws_net_profit > CAST(1 AS DECIMAL(3,0)), ws.ws_quantity > CAST(0 AS INT)
-   runtime filters: RF000[bloom] -> ws_sold_date_sk
-   stored statistics:
-     table: rows=719.38K size=84.20MB
-     partitions: 1824/1824 rows=719.38K
-     columns: all
-   extrapolated-rows=disabled max-scan-range-rows=1.12K est-scan-range=109(filtered from 1824)
-   parquet statistics predicates: ws.ws_net_paid > CAST(0 AS DECIMAL(3,0)), ws.ws_net_profit > CAST(1 AS DECIMAL(3,0)), ws.ws_quantity > CAST(0 AS INT)
-   parquet dictionary predicates: ws.ws_net_paid > CAST(0 AS DECIMAL(3,0)), ws.ws_net_profit > CAST(1 AS DECIMAL(3,0)), ws.ws_quantity > CAST(0 AS INT)
-   mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-   tuple-ids=0 row-size=32B cardinality=42.59K(filtered from 71.94K) cost=5579117
-   in pipelines: 01(GETNEXT)
-====
-# TPCDS-Q76
-SELECT channel,
-       col_name,
-       d_year,
-       d_qoy,
-       i_category,
-       COUNT(*) sales_cnt,
-       SUM(ext_sales_price) sales_amt
-FROM
-  ( SELECT 'store' AS channel,
-           'ss_store_sk' col_name,
-                         d_year,
-                         d_qoy,
-                         i_category,
-                         ss_ext_sales_price ext_sales_price
-   FROM store_sales,
-        item,
-        date_dim
-   WHERE ss_store_sk IS NULL
-     AND ss_sold_date_sk=d_date_sk
-     AND ss_item_sk=i_item_sk
-   UNION ALL SELECT 'web' AS channel,
-                    'ws_ship_customer_sk' col_name,
-                                          d_year,
-                                          d_qoy,
-                                          i_category,
-                                          ws_ext_sales_price ext_sales_price
-   FROM web_sales,
-        item,
-        date_dim
-   WHERE ws_ship_customer_sk IS NULL
-     AND ws_sold_date_sk=d_date_sk
-     AND ws_item_sk=i_item_sk
-   UNION ALL SELECT 'catalog' AS channel,
-                    'cs_ship_addr_sk' col_name,
-                                      d_year,
-                                      d_qoy,
-                                      i_category,
-                                      cs_ext_sales_price ext_sales_price
-   FROM catalog_sales,
-        item,
-        date_dim
-   WHERE cs_ship_addr_sk IS NULL
-     AND cs_sold_date_sk=d_date_sk
-     AND cs_item_sk=i_item_sk) foo
-GROUP BY channel,
-         col_name,
-         d_year,
-         d_qoy,
-         i_category
-ORDER BY channel,
-         col_name,
-         d_year,
-         d_qoy,
-         i_category
-LIMIT 100;
-
----- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=62.38MB Threads=41
-Per-Host Resource Estimates: Memory=413MB
-F17: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=[708] cpu-comparison-result=60 [max(1 (self) vs 60 (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
-|
-32:MERGING-EXCHANGE [UNPARTITIONED]
-|  order by: channel ASC, col_name ASC, d_year ASC, d_qoy ASC, i_category ASC
-|  limit: 100
-|  mem-estimate=48.05KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=12 row-size=74B cardinality=100 cost=8
-|  in pipelines: 17(GETNEXT)
-|
-F16:PLAN FRAGMENT [HASH(channel,col_name,d_year,d_qoy,i_category)] hosts=3 instances=6 (adjusted from 48)
-Per-Instance Resources: mem-estimate=12.11MB mem-reservation=1.94MB thread-reservation=1
-max-parallelism=6 segment-costs=[499288, 500, 8] cpu-comparison-result=60 [max(6 (self) vs 60 (sum children))]
-17:TOP-N [LIMIT=100]
-|  order by: channel ASC, col_name ASC, d_year ASC, d_qoy ASC, i_category ASC
-|  mem-estimate=7.22KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=12 row-size=74B cardinality=100 cost=500
-|  in pipelines: 17(GETNEXT), 31(OPEN)
-|
-31:AGGREGATE [FINALIZE]
-|  output: count:merge(*), sum:merge(ext_sales_price)
-|  group by: channel, col_name, d_year, d_qoy, i_category
-|  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=11 row-size=74B cardinality=70.56K cost=493920
-|  in pipelines: 31(GETNEXT), 01(OPEN), 06(OPEN), 11(OPEN)
-|
-30:EXCHANGE [HASH(channel,col_name,d_year,d_qoy,i_category)]
-|  mem-estimate=2.11MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=11 row-size=74B cardinality=70.56K cost=5368
-|  in pipelines: 01(GETNEXT), 06(GETNEXT), 11(GETNEXT)
-|
-F15:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
-Per-Instance Resources: mem-estimate=14.04MB mem-reservation=3.00MB thread-reservation=1
-max-parallelism=6 segment-costs=[3578803, 5368] cpu-comparison-result=60 [max(60 (self) vs 42 (sum children))]
-16:AGGREGATE [STREAMING]
-|  output: count(*), sum(ext_sales_price)
-|  group by: channel, col_name, d_year, d_qoy, i_category
-|  mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-|  tuple-ids=11 row-size=74B cardinality=70.56K cost=961604
-|  in pipelines: 01(GETNEXT), 06(GETNEXT), 11(GETNEXT)
-|
-00:UNION
-|  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  tuple-ids=9 row-size=54B cardinality=137.37K cost=2472696
-|  in pipelines: 01(GETNEXT), 06(GETNEXT), 11(GETNEXT)
-|
-|--15:HASH JOIN [INNER JOIN, PARTITIONED]
-|  |  hash-table-id=02
-|  |  hash predicates: cs_item_sk = i_item_sk
-|  |  fk/pk conjuncts: cs_item_sk = i_item_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=6,8,7 row-size=58B cardinality=7.17K cost=7165
-|  |  in pipelines: 11(GETNEXT), 12(OPEN)
-|  |
-|  |--F20:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=3.41MB mem-reservation=2.94MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=6 segment-costs=[18526]
-|  |  JOIN BUILD
-|  |  |  join-table-id=02 plan-id=03 cohort-id=01
-|  |  |  build expressions: i_item_sk
-|  |  |  runtime filters: RF008[bloom] <- i_item_sk, RF009[min_max] <- i_item_sk
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |
-|  |  29:EXCHANGE [HASH(i_item_sk)]
-|  |  |  mem-estimate=485.07KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=7 row-size=26B cardinality=18.00K cost=526
-|  |  |  in pipelines: 12(GETNEXT)
-|  |  |
-|  |  F13:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.70MB mem-reservation=256.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[50982]
-|  |  12:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |     stored statistics:
-|  |       table: rows=18.00K size=1.73MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |     tuple-ids=7 row-size=26B cardinality=18.00K cost=50456
-|  |     in pipelines: 12(GETNEXT)
-|  |
-|  28:EXCHANGE [HASH(cs_item_sk)]
-|  |  mem-estimate=314.63KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=6,8 row-size=32B cardinality=7.17K cost=280
-|  |  in pipelines: 11(GETNEXT)
-|  |
-|  F12:PLAN FRAGMENT [HASH(cs_sold_date_sk)] hosts=3 instances=6 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=1.26MB mem-reservation=0B thread-reservation=1
-|  max-parallelism=6 segment-costs=[7613]
-|  14:HASH JOIN [INNER JOIN, PARTITIONED]
-|  |  hash-table-id=05
-|  |  hash predicates: cs_sold_date_sk = d_date_sk
-|  |  fk/pk conjuncts: none
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=6,8 row-size=32B cardinality=7.17K cost=7165
-|  |  in pipelines: 11(GETNEXT), 13(OPEN)
-|  |
-|  |--F23:PLAN FRAGMENT [HASH(cs_sold_date_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=3.79MB mem-reservation=2.94MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=6 segment-costs=[74191]
-|  |  JOIN BUILD
-|  |  |  join-table-id=05 plan-id=06 cohort-id=01
-|  |  |  build expressions: d_date_sk
-|  |  |  runtime filters: RF010[bloom] <- d_date_sk
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=73049
-|  |  |
-|  |  27:EXCHANGE [HASH(d_date_sk)]
-|  |  |  mem-estimate=872.04KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=8 row-size=12B cardinality=73.05K cost=1142
-|  |  |  in pipelines: 13(GETNEXT)
-|  |  |
-|  |  F11:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.38MB mem-reservation=512.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[51999]
-|  |  13:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |     stored statistics:
-|  |       table: rows=73.05K size=2.15MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=8 row-size=12B cardinality=73.05K cost=50857
-|  |     in pipelines: 13(GETNEXT)
-|  |
-|  26:EXCHANGE [HASH(cs_sold_date_sk)]
-|  |  mem-estimate=334.65KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=6 row-size=20B cardinality=7.17K cost=168
-|  |  in pipelines: 11(GETNEXT)
-|  |
-|  F10:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  Per-Host Shared Resources: mem-estimate=2.00MB mem-reservation=2.00MB thread-reservation=0 runtime-filters-memory=2.00MB
-|  Per-Instance Resources: mem-estimate=16.56MB mem-reservation=128.00KB thread-reservation=1
-|  max-parallelism=12 segment-costs=[93019872]
-|  11:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
-|     HDFS partitions=1831/1831 files=1831 size=151.13MB
-|     predicates: cs_ship_addr_sk IS NULL
-|     runtime filters: RF009[min_max] -> cs_item_sk, RF008[bloom] -> cs_item_sk, RF010[bloom] -> cs_sold_date_sk
-|     stored statistics:
-|       table: rows=1.44M size=151.13MB
-|       partitions: 1831/1831 rows=1.44M
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=7.18K
-|     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|     tuple-ids=6 row-size=20B cardinality=7.17K cost=93019704
-|     in pipelines: 11(GETNEXT)
-|
-|--10:HASH JOIN [INNER JOIN, PARTITIONED]
-|  |  hash-table-id=01
-|  |  hash predicates: ws_item_sk = i_item_sk
-|  |  fk/pk conjuncts: ws_item_sk = i_item_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=3,5,4 row-size=58B cardinality=173 cost=173
-|  |  in pipelines: 06(GETNEXT), 07(OPEN)
-|  |
-|  |--F19:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=3.41MB mem-reservation=2.94MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=6 segment-costs=[18526]
-|  |  JOIN BUILD
-|  |  |  join-table-id=01 plan-id=02 cohort-id=01
-|  |  |  build expressions: i_item_sk
-|  |  |  runtime filters: RF004[bloom] <- i_item_sk, RF005[min_max] <- i_item_sk
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |  |
-|  |  25:EXCHANGE [HASH(i_item_sk)]
-|  |  |  mem-estimate=485.07KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=4 row-size=26B cardinality=18.00K cost=526
-|  |  |  in pipelines: 07(GETNEXT)
-|  |  |
-|  |  F08:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.70MB mem-reservation=256.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[50982]
-|  |  07:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |     stored statistics:
-|  |       table: rows=18.00K size=1.73MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |     tuple-ids=4 row-size=26B cardinality=18.00K cost=50456
-|  |     in pipelines: 07(GETNEXT)
-|  |
-|  24:EXCHANGE [HASH(ws_item_sk)]
-|  |  mem-estimate=42.35KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=3,5 row-size=32B cardinality=173 cost=7
-|  |  in pipelines: 06(GETNEXT)
-|  |
-|  F07:PLAN FRAGMENT [HASH(ws_sold_date_sk)] hosts=3 instances=6 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=1009.78KB mem-reservation=0B thread-reservation=1
-|  max-parallelism=6 segment-costs=[185]
-|  09:HASH JOIN [INNER JOIN, PARTITIONED]
-|  |  hash-table-id=04
-|  |  hash predicates: ws_sold_date_sk = d_date_sk
-|  |  fk/pk conjuncts: none
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=3,5 row-size=32B cardinality=173 cost=173
-|  |  in pipelines: 06(GETNEXT), 08(OPEN)
-|  |
-|  |--F22:PLAN FRAGMENT [HASH(ws_sold_date_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=3.79MB mem-reservation=2.94MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=6 segment-costs=[74191]
-|  |  JOIN BUILD
-|  |  |  join-table-id=04 plan-id=05 cohort-id=01
-|  |  |  build expressions: d_date_sk
-|  |  |  runtime filters: RF006[bloom] <- d_date_sk
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=73049
-|  |  |
-|  |  23:EXCHANGE [HASH(d_date_sk)]
-|  |  |  mem-estimate=872.04KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=5 row-size=12B cardinality=73.05K cost=1142
-|  |  |  in pipelines: 08(GETNEXT)
-|  |  |
-|  |  F06:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.38MB mem-reservation=512.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[51999]
-|  |  08:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |     stored statistics:
-|  |       table: rows=73.05K size=2.15MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=5 row-size=12B cardinality=73.05K cost=50857
-|  |     in pipelines: 08(GETNEXT)
-|  |
-|  22:EXCHANGE [HASH(ws_sold_date_sk)]
-|  |  mem-estimate=49.78KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=3 row-size=20B cardinality=173 cost=5
-|  |  in pipelines: 06(GETNEXT)
-|  |
-|  F05:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  Per-Host Shared Resources: mem-estimate=2.00MB mem-reservation=2.00MB thread-reservation=0 runtime-filters-memory=2.00MB
-|  Per-Instance Resources: mem-estimate=16.56MB mem-reservation=128.00KB thread-reservation=1
-|  max-parallelism=12 segment-costs=[91933437]
-|  06:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
-|     HDFS partitions=1824/1824 files=1824 size=84.20MB
-|     predicates: ws_ship_customer_sk IS NULL
-|     runtime filters: RF005[min_max] -> ws_item_sk, RF004[bloom] -> ws_item_sk, RF006[bloom] -> ws_sold_date_sk
-|     stored statistics:
-|       table: rows=719.38K size=84.20MB
-|       partitions: 1824/1824 rows=719.38K
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=1.12K
-|     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|     tuple-ids=3 row-size=20B cardinality=173 cost=91933432
-|     in pipelines: 06(GETNEXT)
-|
-05:HASH JOIN [INNER JOIN, PARTITIONED]
-|  hash-table-id=00
-|  hash predicates: ss_sold_date_sk = d_date_sk
-|  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=0,1,2 row-size=58B cardinality=130.03K cost=130034
-|  in pipelines: 01(GETNEXT), 03(OPEN)
-|
-|--F18:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=3.79MB mem-reservation=2.94MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=6 segment-costs=[74191]
-|  JOIN BUILD
-|  |  join-table-id=00 plan-id=01 cohort-id=01
-|  |  build expressions: d_date_sk
-|  |  runtime filters: RF000[bloom] <- d_date_sk
-|  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=73049
-|  |
-|  21:EXCHANGE [HASH(d_date_sk)]
-|  |  mem-estimate=872.04KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=2 row-size=12B cardinality=73.05K cost=1142
-|  |  in pipelines: 03(GETNEXT)
-|  |
-|  F03:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  Per-Instance Resources: mem-estimate=16.38MB mem-reservation=512.00KB thread-reservation=1
-|  max-parallelism=1 segment-costs=[51999]
-|  03:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|     HDFS partitions=1/1 files=1 size=2.15MB
-|     stored statistics:
-|       table: rows=73.05K size=2.15MB
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|     tuple-ids=2 row-size=12B cardinality=73.05K cost=50857
-|     in pipelines: 03(GETNEXT)
-|
-20:EXCHANGE [HASH(ss_sold_date_sk)]
-|  mem-estimate=2.21MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0,1 row-size=46B cardinality=130.03K cost=6844
-|  in pipelines: 01(GETNEXT)
-|
-F02:PLAN FRAGMENT [HASH(ss_item_sk)] hosts=3 instances=6 (adjusted from 48)
-Per-Instance Resources: mem-estimate=2.37MB mem-reservation=0B thread-reservation=1
-max-parallelism=6 segment-costs=[139926]
-04:HASH JOIN [INNER JOIN, PARTITIONED]
-|  hash-table-id=03
-|  hash predicates: ss_item_sk = i_item_sk
-|  fk/pk conjuncts: ss_item_sk = i_item_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=0,1 row-size=46B cardinality=130.03K cost=130034
-|  in pipelines: 01(GETNEXT), 02(OPEN)
-|
-|--F21:PLAN FRAGMENT [HASH(ss_item_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=3.41MB mem-reservation=2.94MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=6 segment-costs=[18526]
-|  JOIN BUILD
-|  |  join-table-id=03 plan-id=04 cohort-id=01
-|  |  build expressions: i_item_sk
-|  |  runtime filters: RF002[bloom] <- i_item_sk, RF003[min_max] <- i_item_sk
-|  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=18000
-|  |
-|  19:EXCHANGE [HASH(i_item_sk)]
-|  |  mem-estimate=485.07KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=1 row-size=26B cardinality=18.00K cost=526
-|  |  in pipelines: 02(GETNEXT)
-|  |
-|  F01:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  Per-Instance Resources: mem-estimate=16.70MB mem-reservation=256.00KB thread-reservation=1
-|  max-parallelism=1 segment-costs=[50982]
-|  02:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|     HDFS partitions=1/1 files=1 size=1.73MB
-|     stored statistics:
-|       table: rows=18.00K size=1.73MB
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|     tuple-ids=1 row-size=26B cardinality=18.00K cost=50456
-|     in pipelines: 02(GETNEXT)
-|
-18:EXCHANGE [HASH(ss_item_sk)]
-|  mem-estimate=1.11MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=0 row-size=20B cardinality=130.03K cost=3048
-|  in pipelines: 01(GETNEXT)
-|
-F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-Per-Host Shared Resources: mem-estimate=2.00MB mem-reservation=2.00MB thread-reservation=0 runtime-filters-memory=2.00MB
-Per-Instance Resources: mem-estimate=16.56MB mem-reservation=1.00MB thread-reservation=1
-max-parallelism=12 segment-costs=[94139704]
-01:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-   HDFS partitions=1824/1824 files=1824 size=199.36MB
-   predicates: ss_store_sk IS NULL
-   runtime filters: RF003[min_max] -> ss_item_sk, RF000[bloom] -> ss_sold_date_sk, RF002[bloom] -> ss_item_sk
-   stored statistics:
-     table: rows=2.88M size=199.36MB
-     partitions: 1824/1824 rows=2.88M
-     columns: all
-   extrapolated-rows=disabled max-scan-range-rows=130.09K
-   mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-   tuple-ids=0 row-size=20B cardinality=130.03K cost=94136656
-   in pipelines: 01(GETNEXT)
-====
-# TPCDS-Q78
-WITH ws AS
-  (SELECT d_year AS ws_sold_year,
-          ws_item_sk,
-          ws_bill_customer_sk ws_customer_sk,
-          sum(ws_quantity) ws_qty,
-          sum(ws_wholesale_cost) ws_wc,
-          sum(ws_sales_price) ws_sp
-   FROM web_sales
-   LEFT JOIN web_returns ON wr_order_number=ws_order_number
-   AND ws_item_sk=wr_item_sk
-   JOIN date_dim ON ws_sold_date_sk = d_date_sk
-   WHERE wr_order_number IS NULL
-   GROUP BY d_year,
-            ws_item_sk,
-            ws_bill_customer_sk ),
-     cs AS
-  (SELECT d_year AS cs_sold_year,
-          cs_item_sk,
-          cs_bill_customer_sk cs_customer_sk,
-          sum(cs_quantity) cs_qty,
-          sum(cs_wholesale_cost) cs_wc,
-          sum(cs_sales_price) cs_sp
-   FROM catalog_sales
-   LEFT JOIN catalog_returns ON cr_order_number=cs_order_number
-   AND cs_item_sk=cr_item_sk
-   JOIN date_dim ON cs_sold_date_sk = d_date_sk
-   WHERE cr_order_number IS NULL
-   GROUP BY d_year,
-            cs_item_sk,
-            cs_bill_customer_sk ),
-     ss AS
-  (SELECT d_year AS ss_sold_year,
-          ss_item_sk,
-          ss_customer_sk,
-          sum(ss_quantity) ss_qty,
-          sum(ss_wholesale_cost) ss_wc,
-          sum(ss_sales_price) ss_sp
-   FROM store_sales
-   LEFT JOIN store_returns ON sr_ticket_number=ss_ticket_number
-   AND ss_item_sk=sr_item_sk
-   JOIN date_dim ON ss_sold_date_sk = d_date_sk
-   WHERE sr_ticket_number IS NULL
-   GROUP BY d_year,
-            ss_item_sk,
-            ss_customer_sk )
-SELECT ss_sold_year,
-       ss_item_sk,
-       ss_customer_sk,
-       round((ss_qty*1.00)/(coalesce(ws_qty,0)+coalesce(cs_qty,0)),2) ratio,
-       ss_qty store_qty,
-       ss_wc store_wholesale_cost,
-       ss_sp store_sales_price,
-       coalesce(ws_qty,0)+coalesce(cs_qty,0) other_chan_qty,
-       coalesce(ws_wc,0)+coalesce(cs_wc,0) other_chan_wholesale_cost,
-       coalesce(ws_sp,0)+coalesce(cs_sp,0) other_chan_sales_price
-FROM ss
-LEFT JOIN ws ON (ws_sold_year=ss_sold_year
-                 AND ws_item_sk=ss_item_sk
-                 AND ws_customer_sk=ss_customer_sk)
-LEFT JOIN cs ON (cs_sold_year=ss_sold_year
-                 AND cs_item_sk=ss_item_sk
-                 AND cs_customer_sk=ss_customer_sk)
-WHERE (coalesce(ws_qty,0)>0
-       OR coalesce(cs_qty, 0)>0)
-  AND ss_sold_year=2000
-ORDER BY ss_sold_year,
-         ss_item_sk,
-         ss_customer_sk,
-         ss_qty DESC,
-         ss_wc DESC,
-         ss_sp DESC,
-         other_chan_qty,
-         other_chan_wholesale_cost,
-         other_chan_sales_price,
-         ratio
-LIMIT 100;
----- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=188.00MB Threads=38
-Per-Host Resource Estimates: Memory=624MB
-F12:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
-|  Per-Instance Resources: mem-estimate=4.07MB mem-reservation=4.00MB thread-reservation=1
-|  max-parallelism=1 segment-costs=[1012] cpu-comparison-result=57 [max(1 (self) vs 57 (sum children))]
-PLAN-ROOT SINK
-|  output exprs: ss_sold_year, ss_item_sk, ss_customer_sk, round((ss_qty * 1.00) / (coalesce(ws_qty, 0) + coalesce(cs_qty, 0)), 2), ss_qty, ss_wc, ss_sp, coalesce(ws_qty, 0) + coalesce(cs_qty, 0), coalesce(ws_wc, 0) + coalesce(cs_wc, 0), coalesce(ws_sp, 0) + coalesce(cs_sp, 0)
-|  mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=1000
-|
-35:MERGING-EXCHANGE [UNPARTITIONED]
-|  order by: ss_sold_year ASC, ss_item_sk ASC, ss_customer_sk ASC, ss_qty DESC, ss_wc DESC, ss_sp DESC, coalesce(ws_qty, 0) + coalesce(cs_qty, 0) ASC, coalesce(ws_wc, 0) + coalesce(cs_wc, 0) ASC, coalesce(ws_sp, 0) + coalesce(cs_sp, 0) ASC, round((ss_qty * 1.00) / (coalesce(ws_qty, 0) + coalesce(cs_qty, 0)), 2) ASC
-|  limit: 100
-|  mem-estimate=71.61KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=15 row-size=112B cardinality=100 cost=12
-|  in pipelines: 20(GETNEXT)
-|
-F03:PLAN FRAGMENT [HASH(d_year,cs_item_sk,cs_bill_customer_sk)] hosts=3 instances=6 (adjusted from 48)
-Per-Instance Resources: mem-estimate=15.58MB mem-reservation=4.75MB thread-reservation=1
-max-parallelism=6 segment-costs=[1779191, 881992, 12] cpu-comparison-result=57 [max(6 (self) vs 57 (sum children))]
-20:TOP-N [LIMIT=100]
-|  order by: ss_sold_year ASC, ss_item_sk ASC, ss_customer_sk ASC, ss_qty DESC, ss_wc DESC, ss_sp DESC, coalesce(ws_qty, 0) + coalesce(cs_qty, 0) ASC, coalesce(ws_wc, 0) + coalesce(cs_wc, 0) ASC, coalesce(ws_sp, 0) + coalesce(cs_sp, 0) ASC, round((ss_qty * 1.00) / (coalesce(ws_qty, 0) + coalesce(cs_qty, 0)), 2) ASC
-|  materialized: coalesce(ws_qty, 0) + coalesce(cs_qty, 0), coalesce(ws_wc, 0) + coalesce(cs_wc, 0), coalesce(ws_sp, 0) + coalesce(cs_sp, 0), round((ss_qty * 1.00) / (coalesce(ws_qty, 0) + coalesce(cs_qty, 0)), 2)
-|  mem-estimate=10.94KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=15 row-size=112B cardinality=100 cost=1000
-|  in pipelines: 20(GETNEXT), 24(OPEN)
-|
-19:HASH JOIN [RIGHT OUTER JOIN, PARTITIONED]
-|  hash-table-id=00
-|  hash predicates: d_year = d_year, cs_bill_customer_sk = ss_customer_sk, cs_item_sk = ss_item_sk
-|  fk/pk conjuncts: cs_bill_customer_sk = ss_customer_sk, cs_item_sk = ss_item_sk
-|  other predicates: (coalesce(sum(ws_quantity), CAST(0 AS BIGINT)) > CAST(0 AS BIGINT) OR coalesce(sum(cs_quantity), CAST(0 AS BIGINT)) > CAST(0 AS BIGINT))
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=13N,8N,3 row-size=168B cardinality=3.00K cost=880992
-|  in pipelines: 24(GETNEXT), 28(OPEN)
-|
-|--F13:PLAN FRAGMENT [HASH(d_year,cs_item_sk,cs_bill_customer_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=5.75MB mem-reservation=4.94MB thread-reservation=1 runtime-filters-memory=3.00MB
-|  |  max-parallelism=6 segment-costs=[9368] cpu-comparison-result=38 [max(6 (self) vs 38 (sum children))]
-|  JOIN BUILD
-|  |  join-table-id=00 plan-id=01 cohort-id=01
-|  |  build expressions: d_year, ss_customer_sk, ss_item_sk
-|  |  runtime filters: RF000[bloom] <- d_year, RF001[bloom] <- ss_customer_sk, RF002[bloom] <- ss_item_sk, RF004[min_max] <- ss_customer_sk, RF005[min_max] <- ss_item_sk
-|  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=9015
-|  |
-|  34:EXCHANGE [HASH(d_year,ss_item_sk,ss_customer_sk)]
-|  |  mem-estimate=829.56KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=8N,3 row-size=112B cardinality=3.00K cost=353
-|  |  in pipelines: 28(GETNEXT)
-|  |
-|  F07:PLAN FRAGMENT [HASH(d_year,ws_item_sk,ws_bill_customer_sk)] hosts=3 instances=6 (adjusted from 48)
-|  Per-Instance Resources: mem-estimate=12.97MB mem-reservation=2.88MB thread-reservation=1
-|  max-parallelism=6 segment-costs=[891286, 441686] cpu-comparison-result=38 [max(6 (self) vs 38 (sum children))]
-|  18:HASH JOIN [RIGHT OUTER JOIN, PARTITIONED]
-|  |  hash-table-id=01
-|  |  hash predicates: d_year = d_year, ws_bill_customer_sk = ss_customer_sk, ws_item_sk = ss_item_sk
-|  |  fk/pk conjuncts: ws_bill_customer_sk = ss_customer_sk, ws_item_sk = ss_item_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=8N,3 row-size=112B cardinality=3.00K cost=441333
-|  |  in pipelines: 28(GETNEXT), 32(OPEN)
-|  |
-|  |--F14:PLAN FRAGMENT [HASH(d_year,ws_item_sk,ws_bill_customer_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=5.34MB mem-reservation=4.94MB thread-reservation=1 runtime-filters-memory=3.00MB
-|  |  |  max-parallelism=6 segment-costs=[9192] cpu-comparison-result=19 [max(6 (self) vs 19 (sum children))]
-|  |  JOIN BUILD
-|  |  |  join-table-id=01 plan-id=02 cohort-id=02
-|  |  |  build expressions: d_year, ss_customer_sk, ss_item_sk
-|  |  |  runtime filters: RF008[bloom] <- d_year, RF009[bloom] <- ss_customer_sk, RF010[bloom] <- ss_item_sk, RF012[min_max] <- ss_customer_sk, RF013[min_max] <- ss_item_sk
-|  |  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0 cost=9015
-|  |  |
-|  |  33:EXCHANGE [HASH(d_year,ss_item_sk,ss_customer_sk)]
-|  |  |  mem-estimate=414.78KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=3 row-size=56B cardinality=3.00K cost=177
-|  |  |  in pipelines: 32(GETNEXT)
-|  |  |
-|  |  F11:PLAN FRAGMENT [HASH(d_year,ss_item_sk,ss_customer_sk)] hosts=3 instances=6 (adjusted from 48)
-|  |  Per-Instance Resources: mem-estimate=20.35MB mem-reservation=8.50MB thread-reservation=1
-|  |  max-parallelism=6 segment-costs=[3568694, 177] cpu-comparison-result=19 [max(6 (self) vs 19 (sum children))]
-|  |  32:AGGREGATE [FINALIZE]
-|  |  |  output: sum:merge(ss_quantity), sum:merge(ss_wholesale_cost), sum:merge(ss_sales_price)
-|  |  |  group by: d_year, ss_item_sk, ss_customer_sk
-|  |  |  having: d_year = CAST(2000 AS INT)
-|  |  |  mem-estimate=10.00MB mem-reservation=8.50MB spill-buffer=512.00KB thread-reservation=0
-|  |  |  tuple-ids=3 row-size=56B cardinality=3.00K cost=3534180
-|  |  |  in pipelines: 32(GETNEXT), 00(OPEN)
-|  |  |
-|  |  31:EXCHANGE [HASH(d_year,ss_item_sk,ss_customer_sk)]
-|  |  |  mem-estimate=10.35MB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=3 row-size=56B cardinality=589.03K cost=34514
-|  |  |  in pipelines: 00(GETNEXT)
-|  |  |
-|  |  F08:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
-|  |  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.41MB mem-reservation=13.00MB thread-reservation=1
-|  |  max-parallelism=6 segment-costs=[24021978, 34514] cpu-comparison-result=19 [max(6 (self) vs 19 (sum children))]
-|  |  05:AGGREGATE [STREAMING]
-|  |  |  output: sum(CAST(ss_quantity AS BIGINT)), sum(ss_wholesale_cost), sum(ss_sales_price)
-|  |  |  group by: d_year, ss_item_sk, ss_customer_sk
-|  |  |  mem-estimate=10.00MB mem-reservation=9.00MB spill-buffer=512.00KB thread-reservation=0
-|  |  |  tuple-ids=3 row-size=56B cardinality=589.03K cost=3534180
-|  |  |  in pipelines: 00(GETNEXT)
-|  |  |
-|  |  04:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  |  hash-table-id=02
-|  |  |  hash predicates: ss_sold_date_sk = d_date_sk
-|  |  |  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  |  tuple-ids=0,1N,2 row-size=60B cardinality=589.03K cost=589030
-|  |  |  in pipelines: 00(GETNEXT), 02(OPEN)
-|  |  |
-|  |  |--F15:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=4.89MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  |  max-parallelism=3 segment-costs=[388]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=02 plan-id=03 cohort-id=03
-|  |  |  |  build expressions: d_date_sk
-|  |  |  |  runtime filters: RF016[bloom] <- d_date_sk
-|  |  |  |  mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0 cost=373
-|  |  |  |
-|  |  |  30:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=2 row-size=8B cardinality=373 cost=15
-|  |  |  |  in pipelines: 02(GETNEXT)
-|  |  |  |
-|  |  |  F10: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=[123625]
-|  |  |  02:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |  |     predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
-|  |  |     stored statistics:
-|  |  |       table: rows=73.05K size=2.15MB
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |  |     parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
-|  |  |     parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
-|  |  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |  |     tuple-ids=2 row-size=8B cardinality=373 cost=123620
-|  |  |     in pipelines: 02(GETNEXT)
-|  |  |
-|  |  03:HASH JOIN [LEFT OUTER JOIN, BROADCAST]
-|  |  |  hash-table-id=03
-|  |  |  hash predicates: ss_item_sk = sr_item_sk, ss_ticket_number = sr_ticket_number
-|  |  |  fk/pk conjuncts: ss_item_sk = sr_item_sk, ss_ticket_number = sr_ticket_number
-|  |  |  other predicates: sr_ticket_number IS NULL
-|  |  |  mem-estimate=0B mem-reservation=0B spill-buffer=1.00MB thread-reservation=0
-|  |  |  tuple-ids=0,1N row-size=52B cardinality=589.03K(filtered from 2.88M) cost=1178060
-|  |  |  in pipelines: 00(GETNEXT), 01(OPEN)
-|  |  |
-|  |  |--F16:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  |  Per-Instance Resources: mem-estimate=38.62MB mem-reservation=34.00MB thread-reservation=1
-|  |  |  |  max-parallelism=3 segment-costs=[591876]
-|  |  |  JOIN BUILD
-|  |  |  |  join-table-id=03 plan-id=04 cohort-id=03
-|  |  |  |  build expressions: sr_item_sk, sr_ticket_number
-|  |  |  |  mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=1.00MB thread-reservation=0 cost=575028
-|  |  |  |
-|  |  |  29:EXCHANGE [BROADCAST]
-|  |  |  |  mem-estimate=4.62MB mem-reservation=0B thread-reservation=0
-|  |  |  |  tuple-ids=1 row-size=16B cardinality=287.51K cost=16848
-|  |  |  |  in pipelines: 01(GETNEXT)
-|  |  |  |
-|  |  |  F09:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  |  Per-Instance Resources: mem-estimate=16.08MB mem-reservation=256.00KB thread-reservation=1
-|  |  |  max-parallelism=12 segment-costs=[100210104]
-|  |  |  01:SCAN HDFS [tpcds_partitioned_parquet_snap.store_returns, RANDOM]
-|  |  |     HDFS partitions=2004/2004 files=2004 size=33.80MB
-|  |  |     stored statistics:
-|  |  |       table: rows=287.51K size=33.80MB
-|  |  |       partitions: 2004/2004 rows=287.51K
-|  |  |       columns: all
-|  |  |     extrapolated-rows=disabled max-scan-range-rows=10.01K
-|  |  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |  |     tuple-ids=1 row-size=16B cardinality=287.51K cost=100204488
-|  |  |     in pipelines: 01(GETNEXT)
-|  |  |
-|  |  00:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-|  |     HDFS partitions=1824/1824 files=1824 size=199.36MB
-|  |     runtime filters: RF016[bloom] -> ss_sold_date_sk
-|  |     stored statistics:
-|  |       table: rows=2.88M size=199.36MB
-|  |       partitions: 1824/1824 rows=2.88M
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=130.09K est-scan-range=374(filtered from 1824)
-|  |     mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-|  |     tuple-ids=0 row-size=36B cardinality=589.03K(filtered from 2.88M) cost=18720708
-|  |     in pipelines: 00(GETNEXT)
-|  |
-|  28:AGGREGATE [FINALIZE]
-|  |  output: sum:merge(ws_quantity), sum:merge(ws_wholesale_cost), sum:merge(ws_sales_price)
-|  |  group by: d_year, ws_item_sk, ws_bill_customer_sk
-|  |  mem-estimate=10.00MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
-|  |  tuple-ids=8 row-size=56B cardinality=147.11K cost=882666
-|  |  in pipelines: 28(GETNEXT), 06(OPEN)
-|  |
-|  27:EXCHANGE [HASH(d_year,ws_item_sk,ws_bill_customer_sk)]
-|  |  mem-estimate=2.97MB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=8 row-size=56B cardinality=147.11K cost=8620
-|  |  in pipelines: 06(GETNEXT)
-|  |
-|  F04:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
-|  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=27.41MB mem-reservation=3.12MB thread-reservation=1
-|  max-parallelism=6 segment-costs=[20029171, 8620] cpu-comparison-result=19 [max(6 (self) vs 19 (sum children))]
-|  11:AGGREGATE [STREAMING]
-|  |  output: sum(CAST(ws_quantity AS BIGINT)), sum(ws_wholesale_cost), sum(ws_sales_price)
-|  |  group by: d_year, ws_item_sk, ws_bill_customer_sk
-|  |  mem-estimate=10.00MB mem-reservation=3.00MB spill-buffer=128.00KB thread-reservation=0
-|  |  tuple-ids=8 row-size=56B cardinality=147.11K cost=882666
-|  |  in pipelines: 06(GETNEXT)
-|  |
-|  10:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=04
-|  |  hash predicates: ws_sold_date_sk = d_date_sk
-|  |  fk/pk conjuncts: ws_sold_date_sk = d_date_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=5,6N,7 row-size=60B cardinality=147.11K cost=147111
-|  |  in pipelines: 06(GETNEXT), 08(OPEN)
-|  |
-|  |--F17:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=4.89MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=3 segment-costs=[388]
-|  |  JOIN BUILD
-|  |  |  join-table-id=04 plan-id=05 cohort-id=02
-|  |  |  build expressions: d_date_sk
-|  |  |  runtime filters: RF014[bloom] <- d_date_sk
-|  |  |  mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0 cost=373
-|  |  |
-|  |  26:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=7 row-size=8B cardinality=373 cost=15
-|  |  |  in pipelines: 08(GETNEXT)
-|  |  |
-|  |  F06:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
-|  |  Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[123625]
-|  |  08:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |     predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
-|  |     runtime filters: RF008[bloom] -> tpcds_partitioned_parquet_snap.date_dim.d_year
-|  |     stored statistics:
-|  |       table: rows=73.05K size=2.15MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |     parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
-|  |     parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
-|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|  |     tuple-ids=7 row-size=8B cardinality=373 cost=123620
-|  |     in pipelines: 08(GETNEXT)
-|  |
-|  09:HASH JOIN [LEFT OUTER JOIN, BROADCAST]
-|  |  hash-table-id=05
-|  |  hash predicates: ws_item_sk = wr_item_sk, ws_order_number = wr_order_number
-|  |  fk/pk conjuncts: ws_item_sk = wr_item_sk, ws_order_number = wr_order_number
-|  |  other predicates: wr_order_number IS NULL
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-|  |  tuple-ids=5,6N row-size=52B cardinality=147.11K(filtered from 719.38K) cost=294222
-|  |  in pipelines: 06(GETNEXT), 07(OPEN)
-|  |
-|  |--F18:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=10.83MB mem-reservation=9.50MB thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[147732]
-|  |  JOIN BUILD
-|  |  |  join-table-id=05 plan-id=06 cohort-id=02
-|  |  |  build expressions: wr_item_sk, wr_order_number
-|  |  |  mem-estimate=9.50MB mem-reservation=9.50MB spill-buffer=256.00KB thread-reservation=0 cost=143526
-|  |  |
-|  |  25:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=1.33MB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=6 row-size=16B cardinality=71.76K cost=4206
-|  |  |  in pipelines: 07(GETNEXT)
-|  |  |
-|  |  F05:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  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=16.08MB mem-reservation=128.00KB thread-reservation=1
-|  |  max-parallelism=12 segment-costs=[105702530]
-|  |  07:SCAN HDFS [tpcds_partitioned_parquet_snap.web_returns, RANDOM]
-|  |     HDFS partitions=2114/2114 files=2114 size=20.82MB
-|  |     runtime filters: RF013[min_max] -> tpcds_partitioned_parquet_snap.web_returns.wr_item_sk, RF010[bloom] -> tpcds_partitioned_parquet_snap.web_returns.wr_item_sk
-|  |     stored statistics:
-|  |       table: rows=71.76K size=20.82MB
-|  |       partitions: 2114/2114 rows=71.76K
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=3.13K
-|  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |     tuple-ids=6 row-size=16B cardinality=71.76K cost=105701128
-|  |     in pipelines: 07(GETNEXT)
-|  |
-|  06:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
-|     HDFS partitions=1824/1824 files=1824 size=84.20MB
-|     runtime filters: RF012[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk, RF013[min_max] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk, RF009[bloom] -> tpcds_partitioned_parquet_snap.web_sales.ws_bill_customer_sk, RF010[bloom] -> tpcds_partitioned_parquet_snap.web_sales.ws_item_sk, RF014[bloom] -> ws_sold_date_sk
-|     stored statistics:
-|       table: rows=719.38K size=84.20MB
-|       partitions: 1824/1824 rows=719.38K
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=1.12K est-scan-range=374(filtered from 1824)
-|     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|     tuple-ids=5 row-size=36B cardinality=147.11K(filtered from 719.38K) cost=18705172
-|     in pipelines: 06(GETNEXT)
-|
-24:AGGREGATE [FINALIZE]
-|  output: sum:merge(cs_quantity), sum:merge(cs_wholesale_cost), sum:merge(cs_sales_price)
-|  group by: d_year, cs_item_sk, cs_bill_customer_sk
-|  mem-estimate=10.00MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
-|  tuple-ids=13 row-size=56B cardinality=293.66K cost=1761984
-|  in pipelines: 24(GETNEXT), 12(OPEN)
-|
-23:EXCHANGE [HASH(d_year,cs_item_sk,cs_bill_customer_sk)]
-|  mem-estimate=5.58MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=13 row-size=56B cardinality=293.66K cost=17207
-|  in pipelines: 12(GETNEXT)
-|
-F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
-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=27.41MB mem-reservation=5.25MB thread-reservation=1
-max-parallelism=6 segment-costs=[21353300, 17207] cpu-comparison-result=19 [max(6 (self) vs 19 (sum children))]
-17:AGGREGATE [STREAMING]
-|  output: sum(CAST(cs_quantity AS BIGINT)), sum(cs_wholesale_cost), sum(cs_sales_price)
-|  group by: d_year, cs_item_sk, cs_bill_customer_sk
-|  mem-estimate=10.00MB mem-reservation=5.00MB spill-buffer=256.00KB thread-reservation=0
-|  tuple-ids=13 row-size=56B cardinality=293.66K cost=1761984
-|  in pipelines: 12(GETNEXT)
-|
-16:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash-table-id=06
-|  hash predicates: cs_sold_date_sk = d_date_sk
-|  fk/pk conjuncts: cs_sold_date_sk = d_date_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=10,11N,12 row-size=60B cardinality=293.66K cost=293664
-|  in pipelines: 12(GETNEXT), 14(OPEN)
-|
-|--F19:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=4.89MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=3 segment-costs=[388]
-|  JOIN BUILD
-|  |  join-table-id=06 plan-id=07 cohort-id=01
-|  |  build expressions: d_date_sk
-|  |  runtime filters: RF006[bloom] <- d_date_sk
-|  |  mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0 cost=373
-|  |
-|  22:EXCHANGE [BROADCAST]
-|  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=12 row-size=8B cardinality=373 cost=15
-|  |  in pipelines: 14(GETNEXT)
-|  |
-|  F02:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  Per-Host Shared Resources: mem-estimate=1.00MB mem-reservation=1.00MB thread-reservation=0 runtime-filters-memory=1.00MB
-|  Per-Instance Resources: mem-estimate=16.05MB mem-reservation=512.00KB thread-reservation=1
-|  max-parallelism=1 segment-costs=[123625]
-|  14:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|     HDFS partitions=1/1 files=1 size=2.15MB
-|     predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
-|     runtime filters: RF000[bloom] -> tpcds_partitioned_parquet_snap.date_dim.d_year
-|     stored statistics:
-|       table: rows=73.05K size=2.15MB
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|     parquet statistics predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
-|     parquet dictionary predicates: tpcds_partitioned_parquet_snap.date_dim.d_year = CAST(2000 AS INT)
-|     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
-|     tuple-ids=12 row-size=8B cardinality=373 cost=123620
-|     in pipelines: 14(GETNEXT)
-|
-15:HASH JOIN [LEFT OUTER JOIN, BROADCAST]
-|  hash-table-id=07
-|  hash predicates: cs_item_sk = cr_item_sk, cs_order_number = cr_order_number
-|  fk/pk conjuncts: cs_item_sk = cr_item_sk, cs_order_number = cr_order_number
-|  other predicates: cr_order_number IS NULL
-|  mem-estimate=0B mem-reservation=0B spill-buffer=512.00KB thread-reservation=0
-|  tuple-ids=10,11N row-size=52B cardinality=293.66K(filtered from 1.44M) cost=587328
-|  in pipelines: 12(GETNEXT), 13(OPEN)
-|
-|--F20:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=19.43MB mem-reservation=17.00MB thread-reservation=1
-|  |  max-parallelism=3 segment-costs=[296576]
-|  JOIN BUILD
-|  |  join-table-id=07 plan-id=08 cohort-id=01
-|  |  build expressions: cr_item_sk, cr_order_number
-|  |  mem-estimate=17.00MB mem-reservation=17.00MB spill-buffer=512.00KB thread-reservation=0 cost=288134
-|  |
-|  21:EXCHANGE [BROADCAST]
-|  |  mem-estimate=2.43MB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=11 row-size=16B cardinality=144.07K cost=8442
-|  |  in pipelines: 13(GETNEXT)
-|  |
-|  F01:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  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=16.08MB mem-reservation=32.00KB thread-reservation=1
-|  max-parallelism=12 segment-costs=[103005062]
-|  13:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_returns, RANDOM]
-|     HDFS partitions=2060/2060 files=2060 size=30.62MB
-|     runtime filters: RF005[min_max] -> tpcds_partitioned_parquet_snap.catalog_returns.cr_item_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.catalog_returns.cr_item_sk
-|     stored statistics:
-|       table: rows=144.07K size=30.62MB
-|       partitions: 2060/2060 rows=144.07K
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=139
-|     mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=0
-|     tuple-ids=11 row-size=16B cardinality=144.07K cost=103002248
-|     in pipelines: 13(GETNEXT)
-|
-12:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
-   HDFS partitions=1831/1831 files=1831 size=151.13MB
-   runtime filters: RF004[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk, RF005[min_max] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk, RF001[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_bill_customer_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.catalog_sales.cs_item_sk, RF006[bloom] -> cs_sold_date_sk
-   stored statistics:
-     table: rows=1.44M size=151.13MB
-     partitions: 1831/1831 rows=1.44M
-     columns: all
-   extrapolated-rows=disabled max-scan-range-rows=7.18K est-scan-range=374(filtered from 1831)
-   mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-   tuple-ids=10 row-size=36B cardinality=293.66K(filtered from 1.44M) cost=18710324
-   in pipelines: 12(GETNEXT)
-====
-# TPCDS-Q80
-with ssr as
- (select  s_store_id as store_id,
-          sum(ss_ext_sales_price) as sales,
-          sum(coalesce(sr_return_amt, 0)) as `returns`,
-          sum(ss_net_profit - coalesce(sr_net_loss, 0)) as profit
-  from store_sales left outer join store_returns on
-         (ss_item_sk = sr_item_sk and ss_ticket_number = sr_ticket_number),
-     date_dim,
-     store,
-     item,
-     promotion
- where ss_sold_date_sk = d_date_sk
-       and d_date between cast('1998-08-04' as date)
-                  and (cast('1998-08-04' as date) +  interval 30 days)
-       and ss_store_sk = s_store_sk
-       and ss_item_sk = i_item_sk
-       and i_current_price > 50
-       and ss_promo_sk = p_promo_sk
-       and p_channel_tv = 'N'
- group by s_store_id)
- ,
- csr as
- (select  cp_catalog_page_id as catalog_page_id,
-          sum(cs_ext_sales_price) as sales,
-          sum(coalesce(cr_return_amount, 0)) as `returns`,
-          sum(cs_net_profit - coalesce(cr_net_loss, 0)) as profit
-  from catalog_sales left outer join catalog_returns on
-         (cs_item_sk = cr_item_sk and cs_order_number = cr_order_number),
-     date_dim,
-     catalog_page,
-     item,
-     promotion
- where cs_sold_date_sk = d_date_sk
-       and d_date between cast('1998-08-04' as date)
-                  and (cast('1998-08-04' as date) +  interval 30 days)
-        and cs_catalog_page_sk = cp_catalog_page_sk
-       and cs_item_sk = i_item_sk
-       and i_current_price > 50
-       and cs_promo_sk = p_promo_sk
-       and p_channel_tv = 'N'
-group by cp_catalog_page_id)
- ,
- wsr as
- (select  web_site_id,
-          sum(ws_ext_sales_price) as sales,
-          sum(coalesce(wr_return_amt, 0)) as `returns`,
-          sum(ws_net_profit - coalesce(wr_net_loss, 0)) as profit
-  from web_sales left outer join web_returns on
-         (ws_item_sk = wr_item_sk and ws_order_number = wr_order_number),
-     date_dim,
-     web_site,
-     item,
-     promotion
- where ws_sold_date_sk = d_date_sk
-       and d_date between cast('1998-08-04' as date)
-                  and (cast('1998-08-04' as date) +  interval 30 days)
-        and ws_web_site_sk = web_site_sk
-       and ws_item_sk = i_item_sk
-       and i_current_price > 50
-       and ws_promo_sk = p_promo_sk
-       and p_channel_tv = 'N'
-group by web_site_id)
-  select  channel
-        , id
-        , sum(sales) as sales
-        , sum(`returns`) as `returns`
-        , sum(profit) as profit
- from
- (select 'store channel' as channel
-        , 'store' || store_id as id
-        , sales
-        , `returns`
-        , profit
- from   ssr
- union all
- select 'catalog channel' as channel
-        , 'catalog_page' || catalog_page_id as id
-        , sales
-        , `returns`
-        , profit
- from  csr
- union all
- select 'web channel' as channel
-        , 'web_site' || web_site_id as id
-        , sales
-        , `returns`
-        , profit
- from   wsr
- ) x
- group by rollup (channel, id)
- order by channel
-         ,id
- limit 100
----- PARALLELPLANS
-Max Per-Host Resource Reservation: Memory=335.50MB Threads=58
-Per-Host Resource Estimates: Memory=1.23GB
-F23: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=[508] cpu-comparison-result=93 [max(1 (self) vs 93 (sum children))]
-PLAN-ROOT SINK
-|  output exprs: CASE valid_tid(26,27,28) WHEN 26 THEN channel WHEN 27 THEN channel WHEN 28 THEN NULL END, CASE valid_tid(26,27,28) WHEN 26 THEN id WHEN 27 THEN NULL WHEN 28 THEN NULL END, aggif(valid_tid(26,27,28) IN (26, 27, 28), CASE valid_tid(26,27,28) WHEN 26 THEN sum(sales) WHEN 27 THEN sum(sales) WHEN 28 THEN sum(sales) END), aggif(valid_tid(26,27,28) IN (26, 27, 28), CASE valid_tid(26,27,28) WHEN 26 THEN sum(`returns`) WHEN 27 THEN sum(`returns`) WHEN 28 THEN sum(`returns`) END), [...]
-|  mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=500
-|
-63:MERGING-EXCHANGE [UNPARTITIONED]
-|  order by: CASE valid_tid(26,27,28) WHEN 26 THEN channel WHEN 27 THEN channel WHEN 28 THEN NULL END ASC, CASE valid_tid(26,27,28) WHEN 26 THEN id WHEN 27 THEN NULL WHEN 28 THEN NULL END ASC
-|  limit: 100
-|  mem-estimate=46.88KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=30 row-size=72B cardinality=100 cost=8
-|  in pipelines: 39(GETNEXT)
-|
-F22:PLAN FRAGMENT [HASH(CASE valid_tid(26,27,28) WHEN 26 THEN murmur_hash(channel) WHEN 27 THEN murmur_hash(channel) WHEN 28 THEN murmur_hash(NULL) END,CASE valid_tid(26,27,28) WHEN 26 THEN murmur_hash(id) WHEN 27 THEN murmur_hash(NULL) WHEN 28 THEN murmur_hash(NULL) END)] hosts=3 instances=6 (adjusted from 48)
-Per-Instance Resources: mem-estimate=40.00MB mem-reservation=7.75MB thread-reservation=1
-max-parallelism=6 segment-costs=[60395, 69384, 200, 8] cpu-comparison-result=93 [max(6 (self) vs 93 (sum children))]
-39:TOP-N [LIMIT=100]
-|  order by: CASE valid_tid(26,27,28) WHEN 26 THEN channel WHEN 27 THEN channel WHEN 28 THEN NULL END ASC, CASE valid_tid(26,27,28) WHEN 26 THEN id WHEN 27 THEN NULL WHEN 28 THEN NULL END ASC
-|  mem-estimate=7.03KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=30 row-size=72B cardinality=100 cost=200
-|  in pipelines: 39(GETNEXT), 38(OPEN)
-|
-38:AGGREGATE [FINALIZE]
-|  output: aggif(valid_tid(26,27,28) IN (CAST(26 AS INT), CAST(27 AS INT), CAST(28 AS INT)), CASE valid_tid(26,27,28) WHEN CAST(26 AS INT) THEN sum(sales) WHEN CAST(27 AS INT) THEN sum(sales) WHEN CAST(28 AS INT) THEN sum(sales) END), aggif(valid_tid(26,27,28) IN (CAST(26 AS INT), CAST(27 AS INT), CAST(28 AS INT)), CASE valid_tid(26,27,28) WHEN CAST(26 AS INT) THEN sum(`returns`) WHEN CAST(27 AS INT) THEN sum(`returns`) WHEN CAST(28 AS INT) THEN sum(`returns`) END), aggif(valid_tid(26,27 [...]
-|  group by: CASE valid_tid(26,27,28) WHEN CAST(26 AS INT) THEN channel WHEN CAST(27 AS INT) THEN channel WHEN CAST(28 AS INT) THEN NULL END, CASE valid_tid(26,27,28) WHEN CAST(26 AS INT) THEN id WHEN CAST(27 AS INT) THEN NULL WHEN CAST(28 AS INT) THEN NULL END, CASE valid_tid(26,27,28) WHEN CAST(26 AS INT) THEN CAST(26 AS INT) WHEN CAST(27 AS INT) THEN CAST(27 AS INT) WHEN CAST(28 AS INT) THEN CAST(28 AS INT) END
-|  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=29 row-size=76B cardinality=11.56K cost=69384
-|  in pipelines: 38(GETNEXT), 62(OPEN)
-|
-62:AGGREGATE [FINALIZE]
-|  Class 0
-|    output: sum:merge(sales), sum:merge(`returns`), sum:merge(profit)
-|    group by: channel, id
-|  Class 1
-|    output: sum:merge(sales), sum:merge(`returns`), sum:merge(profit)
-|    group by: channel, NULL
-|  Class 2
-|    output: sum:merge(sales), sum:merge(`returns`), sum:merge(profit)
-|    group by: NULL, NULL
-|  mem-estimate=30.00MB mem-reservation=5.81MB thread-reservation=0
-|  tuple-ids=26N,27N,28N row-size=216B cardinality=11.56K cost=57820
-|  in pipelines: 62(GETNEXT), 46(OPEN), 53(OPEN), 60(OPEN)
-|
-61:EXCHANGE [HASH(CASE valid_tid(26,27,28) WHEN 26 THEN murmur_hash(channel) WHEN 27 THEN murmur_hash(channel) WHEN 28 THEN murmur_hash(NULL) END,CASE valid_tid(26,27,28) WHEN 26 THEN murmur_hash(id) WHEN 27 THEN murmur_hash(NULL) WHEN 28 THEN murmur_hash(NULL) END)]
-|  mem-estimate=3.47MB mem-reservation=0B thread-reservation=0
-|  tuple-ids=26N,27N,28N row-size=216B cardinality=11.56K cost=2575
-|  in pipelines: 46(GETNEXT), 53(GETNEXT), 60(GETNEXT)
-|
-F21:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-Per-Instance Resources: mem-estimate=46.56MB mem-reservation=7.94MB thread-reservation=1
-max-parallelism=12 segment-costs=[25, 47058, 62, 346800, 2575] cpu-comparison-result=93 [max(12 (self) vs 93 (sum children))]
-37:AGGREGATE [STREAMING]
-|  Class 0
-|    output: sum(sales), sum(returns), sum(profit)
-|    group by: channel, id
-|  Class 1
-|    output: sum(sales), sum(returns), sum(profit)
-|    group by: channel, NULL
-|  Class 2
-|    output: sum(sales), sum(returns), sum(profit)
-|    group by: NULL, NULL
-|  mem-estimate=30.00MB mem-reservation=6.00MB thread-reservation=0
-|  tuple-ids=26N,27N,28N row-size=216B cardinality=11.56K cost=173400
-|  in pipelines: 46(GETNEXT), 53(GETNEXT), 60(GETNEXT)
-|
-00:UNION
-|  mem-estimate=0B mem-reservation=0B thread-reservation=0
-|  tuple-ids=24 row-size=72B cardinality=11.56K cost=173400
-|  in pipelines: 46(GETNEXT), 53(GETNEXT), 60(GETNEXT)
-|
-|--60:AGGREGATE [FINALIZE]
-|  |  output: sum:merge(ws_ext_sales_price), sum:merge(coalesce(wr_return_amt, 0)), sum:merge(ws_net_profit - coalesce(wr_net_loss, 0))
-|  |  group by: web_site_id
-|  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=22 row-size=76B cardinality=15 cost=60
-|  |  in pipelines: 60(GETNEXT), 25(OPEN)
-|  |
-|  59:EXCHANGE [HASH(web_site_id)]
-|  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=22 row-size=76B cardinality=15 cost=2
-|  |  in pipelines: 25(GETNEXT)
-|  |
-|  F14:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  Per-Host Shared Resources: mem-estimate=2.00MB mem-reservation=2.00MB thread-reservation=0 runtime-filters-memory=2.00MB
-|  Per-Instance Resources: mem-estimate=29.75MB mem-reservation=2.12MB thread-reservation=1
-|  max-parallelism=12 segment-costs=[91910793, 2] cpu-comparison-result=31 [max(12 (self) vs 31 (sum children))]
-|  36:AGGREGATE [STREAMING]
-|  |  output: sum(ws_ext_sales_price), sum(coalesce(wr_return_amt, CAST(0 AS DECIMAL(7,2)))), sum(ws_net_profit - coalesce(wr_net_loss, CAST(0 AS DECIMAL(7,2))))
-|  |  group by: web_site_id
-|  |  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=22 row-size=76B cardinality=15 cost=280136
-|  |  in pipelines: 25(GETNEXT)
-|  |
-|  35:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=10
-|  |  hash predicates: ws_web_site_sk = web_site_sk
-|  |  fk/pk conjuncts: ws_web_site_sk = web_site_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=16,17N,20,21,18,19 row-size=147B cardinality=70.03K cost=70034
-|  |  in pipelines: 25(GETNEXT), 28(OPEN)
-|  |
-|  |--F34:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=7.77MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[36]
-|  |  JOIN BUILD
-|  |  |  join-table-id=10 plan-id=11 cohort-id=03
-|  |  |  build expressions: web_site_sk
-|  |  |  runtime filters: RF017[min_max] <- web_site_sk
-|  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=30
-|  |  |
-|  |  58:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=19 row-size=32B cardinality=30 cost=6
-|  |  |  in pipelines: 28(GETNEXT)
-|  |  |
-|  |  F19:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.14MB mem-reservation=16.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[50003]
-|  |  28:SCAN HDFS [tpcds_partitioned_parquet_snap.web_site, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=11.91KB
-|  |     stored statistics:
-|  |       table: rows=30 size=11.91KB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=30
-|  |     mem-estimate=16.00MB mem-reservation=16.00KB thread-reservation=0
-|  |     tuple-ids=19 row-size=32B cardinality=30 cost=50001
-|  |     in pipelines: 28(GETNEXT)
-|  |
-|  34:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=11
-|  |  hash predicates: ws_sold_date_sk = d_date_sk
-|  |  fk/pk conjuncts: ws_sold_date_sk = d_date_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=16,17N,20,21,18 row-size=115B cardinality=70.03K cost=70034
-|  |  in pipelines: 25(GETNEXT), 27(OPEN)
-|  |
-|  |--F35:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=7.96MB mem-reservation=7.75MB thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[7950]
-|  |  JOIN BUILD
-|  |  |  join-table-id=11 plan-id=12 cohort-id=03
-|  |  |  build expressions: d_date_sk
-|  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |
-|  |  57:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=215.48KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=18 row-size=26B cardinality=7.30K cost=645
-|  |  |  in pipelines: 27(GETNEXT)
-|  |  |
-|  |  F18:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.12MB mem-reservation=1.00MB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[198168]
-|  |  27:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |     predicates: CAST(d_date AS DATE) <= DATE '1998-09-03', CAST(d_date AS DATE) >= DATE '1998-08-04'
-|  |     stored statistics:
-|  |       table: rows=73.05K size=2.15MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |     parquet statistics predicates: CAST(d_date AS DATE) <= DATE '1998-09-03', CAST(d_date AS DATE) >= DATE '1998-08-04'
-|  |     parquet dictionary predicates: CAST(d_date AS DATE) <= DATE '1998-09-03', CAST(d_date AS DATE) >= DATE '1998-08-04'
-|  |     mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-|  |     tuple-ids=18 row-size=26B cardinality=7.30K cost=197953
-|  |     in pipelines: 27(GETNEXT)
-|  |
-|  33:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=12
-|  |  hash predicates: ws_promo_sk = p_promo_sk
-|  |  fk/pk conjuncts: ws_promo_sk = p_promo_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=16,17N,20,21 row-size=89B cardinality=70.03K cost=71939
-|  |  in pipelines: 25(GETNEXT), 30(OPEN)
-|  |
-|  |--F36:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=8.77MB mem-reservation=8.75MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=3 segment-costs=[315]
-|  |  JOIN BUILD
-|  |  |  join-table-id=12 plan-id=13 cohort-id=03
-|  |  |  build expressions: p_promo_sk
-|  |  |  runtime filters: RF020[bloom] <- p_promo_sk, RF021[min_max] <- p_promo_sk
-|  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=294
-|  |  |
-|  |  56:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=21 row-size=17B cardinality=294 cost=21
-|  |  |  in pipelines: 30(GETNEXT)
-|  |  |
-|  |  F17:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.08MB mem-reservation=32.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[50312]
-|  |  30:SCAN HDFS [tpcds_partitioned_parquet_snap.promotion, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=23.30KB
-|  |     predicates: p_channel_tv = 'N'
-|  |     stored statistics:
-|  |       table: rows=300 size=23.30KB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=300
-|  |     parquet statistics predicates: p_channel_tv = 'N'
-|  |     parquet dictionary predicates: p_channel_tv = 'N'
-|  |     mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=0
-|  |     tuple-ids=21 row-size=17B cardinality=294 cost=50305
-|  |     in pipelines: 30(GETNEXT)
-|  |
-|  32:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=13
-|  |  hash predicates: ws_item_sk = i_item_sk
-|  |  fk/pk conjuncts: ws_item_sk = i_item_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=16,17N,20 row-size=72B cardinality=71.94K cost=72038
-|  |  in pipelines: 25(GETNEXT), 29(OPEN)
-|  |
-|  |--F37:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=8.79MB mem-reservation=8.75MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=3 segment-costs=[1887]
-|  |  JOIN BUILD
-|  |  |  join-table-id=13 plan-id=14 cohort-id=03
-|  |  |  build expressions: i_item_sk
-|  |  |  runtime filters: RF022[bloom] <- i_item_sk, RF023[min_max] <- i_item_sk
-|  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=1800
-|  |  |
-|  |  55:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=37.09KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=20 row-size=12B cardinality=1.80K cost=87
-|  |  |  in pipelines: 29(GETNEXT)
-|  |  |
-|  |  F16:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.06MB mem-reservation=256.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[68240]
-|  |  29:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |     predicates: i_current_price > CAST(50 AS DECIMAL(3,0))
-|  |     stored statistics:
-|  |       table: rows=18.00K size=1.73MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |     parquet statistics predicates: i_current_price > CAST(50 AS DECIMAL(3,0))
-|  |     parquet dictionary predicates: i_current_price > CAST(50 AS DECIMAL(3,0))
-|  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |     tuple-ids=20 row-size=12B cardinality=1.80K cost=68211
-|  |     in pipelines: 29(GETNEXT)
-|  |
-|  31:HASH JOIN [LEFT OUTER JOIN, BROADCAST]
-|  |  hash-table-id=14
-|  |  hash predicates: ws_item_sk = wr_item_sk, ws_order_number = wr_order_number
-|  |  fk/pk conjuncts: ws_item_sk = wr_item_sk, ws_order_number = wr_order_number
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=256.00KB thread-reservation=0
-|  |  tuple-ids=16,17N row-size=60B cardinality=72.04K(filtered from 719.38K) cost=144076
-|  |  in pipelines: 25(GETNEXT), 26(OPEN)
-|  |
-|  |--F38:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=20.97MB mem-reservation=19.00MB thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[149415]
-|  |  JOIN BUILD
-|  |  |  join-table-id=14 plan-id=15 cohort-id=03
-|  |  |  build expressions: wr_item_sk, wr_order_number
-|  |  |  mem-estimate=19.00MB mem-reservation=19.00MB spill-buffer=256.00KB thread-reservation=0 cost=143526
-|  |  |
-|  |  54:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=1.97MB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=17 row-size=24B cardinality=71.76K cost=5889
-|  |  |  in pipelines: 26(GETNEXT)
-|  |  |
-|  |  F15:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  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=16.11MB mem-reservation=128.00KB thread-reservation=1
-|  |  max-parallelism=12 segment-costs=[105703651]
-|  |  26:SCAN HDFS [tpcds_partitioned_parquet_snap.web_returns, RANDOM]
-|  |     HDFS partitions=2114/2114 files=2114 size=20.82MB
-|  |     runtime filters: RF023[min_max] -> tpcds_partitioned_parquet_snap.web_returns.wr_item_sk, RF022[bloom] -> tpcds_partitioned_parquet_snap.web_returns.wr_item_sk
-|  |     stored statistics:
-|  |       table: rows=71.76K size=20.82MB
-|  |       partitions: 2114/2114 rows=71.76K
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=3.13K
-|  |     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|  |     tuple-ids=17 row-size=24B cardinality=71.76K cost=105701688
-|  |     in pipelines: 26(GETNEXT)
-|  |
-|  25:SCAN HDFS [tpcds_partitioned_parquet_snap.web_sales, RANDOM]
-|     HDFS partitions=1824/1824 files=1824 size=84.20MB
-|     runtime filters: RF023[min_max] -> ws_item_sk, RF021[min_max] -> ws_promo_sk, RF017[min_max] -> ws_web_site_sk, RF022[bloom] -> ws_item_sk, RF020[bloom] -> ws_promo_sk
-|     stored statistics:
-|       table: rows=719.38K size=84.20MB
-|       partitions: 1824/1824 rows=719.38K
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=1.12K
-|     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
-|     tuple-ids=16 row-size=36B cardinality=72.04K(filtered from 719.38K) cost=91202536
-|     in pipelines: 25(GETNEXT)
-|
-|--53:AGGREGATE [FINALIZE]
-|  |  output: sum:merge(cs_ext_sales_price), sum:merge(coalesce(cr_return_amount, 0)), sum:merge(cs_net_profit - coalesce(cr_net_loss, 0))
-|  |  group by: cp_catalog_page_id
-|  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=14 row-size=76B cardinality=11.54K cost=46156
-|  |  in pipelines: 53(GETNEXT), 13(OPEN)
-|  |
-|  52:EXCHANGE [HASH(cp_catalog_page_id)]
-|  |  mem-estimate=1.22MB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=14 row-size=76B cardinality=11.54K cost=902
-|  |  in pipelines: 13(GETNEXT)
-|  |
-|  F07:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  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=29.75MB mem-reservation=2.25MB thread-reservation=1
-|  max-parallelism=12 segment-costs=[92974322, 902] cpu-comparison-result=31 [max(12 (self) vs 31 (sum children))]
-|  24:AGGREGATE [STREAMING]
-|  |  output: sum(cs_ext_sales_price), sum(coalesce(cr_return_amount, CAST(0 AS DECIMAL(7,2)))), sum(cs_net_profit - coalesce(cr_net_loss, CAST(0 AS DECIMAL(7,2))))
-|  |  group by: cp_catalog_page_id
-|  |  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=14 row-size=76B cardinality=11.54K cost=561348
-|  |  in pipelines: 13(GETNEXT)
-|  |
-|  23:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=05
-|  |  hash predicates: cs_catalog_page_sk = cp_catalog_page_sk
-|  |  fk/pk conjuncts: cs_catalog_page_sk = cp_catalog_page_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=8,9N,12,13,10,11 row-size=147B cardinality=140.34K cost=140337
-|  |  in pipelines: 13(GETNEXT), 16(OPEN)
-|  |
-|  |--F29:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=9.14MB mem-reservation=8.75MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=3 segment-costs=[12954]
-|  |  JOIN BUILD
-|  |  |  join-table-id=05 plan-id=06 cohort-id=02
-|  |  |  build expressions: cp_catalog_page_sk
-|  |  |  runtime filters: RF008[bloom] <- cp_catalog_page_sk, RF009[min_max] <- cp_catalog_page_sk
-|  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=11718
-|  |  |
-|  |  51:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=402.19KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=11 row-size=32B cardinality=11.72K cost=1236
-|  |  |  in pipelines: 16(GETNEXT)
-|  |  |
-|  |  F12:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.14MB mem-reservation=256.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[50779]
-|  |  16:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_page, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=739.17KB
-|  |     stored statistics:
-|  |       table: rows=11.72K size=739.17KB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=11.72K
-|  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |     tuple-ids=11 row-size=32B cardinality=11.72K cost=50367
-|  |     in pipelines: 16(GETNEXT)
-|  |
-|  22:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=06
-|  |  hash predicates: cs_sold_date_sk = d_date_sk
-|  |  fk/pk conjuncts: cs_sold_date_sk = d_date_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=8,9N,12,13,10 row-size=115B cardinality=140.34K cost=140337
-|  |  in pipelines: 13(GETNEXT), 15(OPEN)
-|  |
-|  |--F30:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=8.96MB mem-reservation=8.75MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=3 segment-costs=[7950]
-|  |  JOIN BUILD
-|  |  |  join-table-id=06 plan-id=07 cohort-id=02
-|  |  |  build expressions: d_date_sk
-|  |  |  runtime filters: RF010[bloom] <- d_date_sk
-|  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |  |
-|  |  50:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=215.48KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=10 row-size=26B cardinality=7.30K cost=645
-|  |  |  in pipelines: 15(GETNEXT)
-|  |  |
-|  |  F11:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.12MB mem-reservation=1.00MB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[198168]
-|  |  15:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=2.15MB
-|  |     predicates: CAST(d_date AS DATE) <= DATE '1998-09-03', CAST(d_date AS DATE) >= DATE '1998-08-04'
-|  |     stored statistics:
-|  |       table: rows=73.05K size=2.15MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|  |     parquet statistics predicates: CAST(d_date AS DATE) <= DATE '1998-09-03', CAST(d_date AS DATE) >= DATE '1998-08-04'
-|  |     parquet dictionary predicates: CAST(d_date AS DATE) <= DATE '1998-09-03', CAST(d_date AS DATE) >= DATE '1998-08-04'
-|  |     mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-|  |     tuple-ids=10 row-size=26B cardinality=7.30K cost=197953
-|  |     in pipelines: 15(GETNEXT)
-|  |
-|  21:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=07
-|  |  hash predicates: cs_promo_sk = p_promo_sk
-|  |  fk/pk conjuncts: cs_promo_sk = p_promo_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=8,9N,12,13 row-size=89B cardinality=140.34K cost=144155
-|  |  in pipelines: 13(GETNEXT), 18(OPEN)
-|  |
-|  |--F31:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=8.77MB mem-reservation=8.75MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=3 segment-costs=[315]
-|  |  JOIN BUILD
-|  |  |  join-table-id=07 plan-id=08 cohort-id=02
-|  |  |  build expressions: p_promo_sk
-|  |  |  runtime filters: RF012[bloom] <- p_promo_sk, RF013[min_max] <- p_promo_sk
-|  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=294
-|  |  |
-|  |  49:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=13 row-size=17B cardinality=294 cost=21
-|  |  |  in pipelines: 18(GETNEXT)
-|  |  |
-|  |  F10:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.08MB mem-reservation=32.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[50312]
-|  |  18:SCAN HDFS [tpcds_partitioned_parquet_snap.promotion, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=23.30KB
-|  |     predicates: p_channel_tv = 'N'
-|  |     stored statistics:
-|  |       table: rows=300 size=23.30KB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=300
-|  |     parquet statistics predicates: p_channel_tv = 'N'
-|  |     parquet dictionary predicates: p_channel_tv = 'N'
-|  |     mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=0
-|  |     tuple-ids=13 row-size=17B cardinality=294 cost=50305
-|  |     in pipelines: 18(GETNEXT)
-|  |
-|  20:HASH JOIN [INNER JOIN, BROADCAST]
-|  |  hash-table-id=08
-|  |  hash predicates: cs_item_sk = i_item_sk
-|  |  fk/pk conjuncts: cs_item_sk = i_item_sk
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  |  tuple-ids=8,9N,12 row-size=72B cardinality=144.16K cost=144355
-|  |  in pipelines: 13(GETNEXT), 17(OPEN)
-|  |
-|  |--F32:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=8.79MB mem-reservation=8.75MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  |  max-parallelism=3 segment-costs=[1887]
-|  |  JOIN BUILD
-|  |  |  join-table-id=08 plan-id=09 cohort-id=02
-|  |  |  build expressions: i_item_sk
-|  |  |  runtime filters: RF014[bloom] <- i_item_sk, RF015[min_max] <- i_item_sk
-|  |  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=1800
-|  |  |
-|  |  48:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=37.09KB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=12 row-size=12B cardinality=1.80K cost=87
-|  |  |  in pipelines: 17(GETNEXT)
-|  |  |
-|  |  F09:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  |  Per-Instance Resources: mem-estimate=16.06MB mem-reservation=256.00KB thread-reservation=1
-|  |  max-parallelism=1 segment-costs=[68240]
-|  |  17:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|  |     HDFS partitions=1/1 files=1 size=1.73MB
-|  |     predicates: i_current_price > CAST(50 AS DECIMAL(3,0))
-|  |     stored statistics:
-|  |       table: rows=18.00K size=1.73MB
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|  |     parquet statistics predicates: i_current_price > CAST(50 AS DECIMAL(3,0))
-|  |     parquet dictionary predicates: i_current_price > CAST(50 AS DECIMAL(3,0))
-|  |     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|  |     tuple-ids=12 row-size=12B cardinality=1.80K cost=68211
-|  |     in pipelines: 17(GETNEXT)
-|  |
-|  19:HASH JOIN [LEFT OUTER JOIN, BROADCAST]
-|  |  hash-table-id=09
-|  |  hash predicates: cs_item_sk = cr_item_sk, cs_order_number = cr_order_number
-|  |  fk/pk conjuncts: cs_item_sk = cr_item_sk, cs_order_number = cr_order_number
-|  |  mem-estimate=0B mem-reservation=0B spill-buffer=512.00KB thread-reservation=0
-|  |  tuple-ids=8,9N row-size=60B cardinality=144.35K(filtered from 1.44M) cost=288710
-|  |  in pipelines: 13(GETNEXT), 14(OPEN)
-|  |
-|  |--F33:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  |  Per-Instance Resources: mem-estimate=37.63MB mem-reservation=34.00MB thread-reservation=1
-|  |  |  max-parallelism=3 segment-costs=[299954]
-|  |  JOIN BUILD
-|  |  |  join-table-id=09 plan-id=10 cohort-id=02
-|  |  |  build expressions: cr_item_sk, cr_order_number
-|  |  |  mem-estimate=34.00MB mem-reservation=34.00MB spill-buffer=512.00KB thread-reservation=0 cost=288134
-|  |  |
-|  |  47:EXCHANGE [BROADCAST]
-|  |  |  mem-estimate=3.63MB mem-reservation=0B thread-reservation=0
-|  |  |  tuple-ids=9 row-size=24B cardinality=144.07K cost=11820
-|  |  |  in pipelines: 14(GETNEXT)
-|  |  |
-|  |  F08:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  |  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=16.11MB mem-reservation=32.00KB thread-reservation=1
-|  |  max-parallelism=12 segment-costs=[103007316]
-|  |  14:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_returns, RANDOM]
-|  |     HDFS partitions=2060/2060 files=2060 size=30.62MB
-|  |     runtime filters: RF015[min_max] -> tpcds_partitioned_parquet_snap.catalog_returns.cr_item_sk, RF014[bloom] -> tpcds_partitioned_parquet_snap.catalog_returns.cr_item_sk
-|  |     stored statistics:
-|  |       table: rows=144.07K size=30.62MB
-|  |       partitions: 2060/2060 rows=144.07K
-|  |       columns: all
-|  |     extrapolated-rows=disabled max-scan-range-rows=139
-|  |     mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=0
-|  |     tuple-ids=9 row-size=24B cardinality=144.07K cost=103003376
-|  |     in pipelines: 14(GETNEXT)
-|  |
-|  13:SCAN HDFS [tpcds_partitioned_parquet_snap.catalog_sales, RANDOM]
-|     HDFS partitions=1831/1831 files=1831 size=151.13MB
-|     runtime filters: RF015[min_max] -> cs_item_sk, RF013[min_max] -> cs_promo_sk, RF009[min_max] -> cs_catalog_page_sk, RF014[bloom] -> cs_item_sk, RF012[bloom] -> cs_promo_sk, RF008[bloom] -> cs_catalog_page_sk, RF010[bloom] -> cs_sold_date_sk
-|     stored statistics:
-|       table: rows=1.44M size=151.13MB
-|       partitions: 1831/1831 rows=1.44M
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=7.18K
-|     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|     tuple-ids=8 row-size=36B cardinality=144.35K(filtered from 1.44M) cost=91555080
-|     in pipelines: 13(GETNEXT)
-|
-46:AGGREGATE [FINALIZE]
-|  output: sum:merge(ss_ext_sales_price), sum:merge(coalesce(sr_return_amt, 0)), sum:merge(ss_net_profit - coalesce(sr_net_loss, 0))
-|  group by: s_store_id
-|  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=6 row-size=76B cardinality=6 cost=24
-|  in pipelines: 46(GETNEXT), 01(OPEN)
-|
-45:EXCHANGE [HASH(s_store_id)]
-|  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  tuple-ids=6 row-size=76B cardinality=6 cost=1
-|  in pipelines: 01(GETNEXT)
-|
-F00:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-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=29.75MB mem-reservation=6.00MB thread-reservation=1
-max-parallelism=12 segment-costs=[94045966, 1] cpu-comparison-result=31 [max(12 (self) vs 31 (sum children))]
-12:AGGREGATE [STREAMING]
-|  output: sum(ss_ext_sales_price), sum(coalesce(sr_return_amt, CAST(0 AS DECIMAL(7,2)))), sum(ss_net_profit - coalesce(sr_net_loss, CAST(0 AS DECIMAL(7,2))))
-|  group by: s_store_id
-|  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=6 row-size=76B cardinality=6 cost=1121644
-|  in pipelines: 01(GETNEXT)
-|
-11:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash-table-id=00
-|  hash predicates: ss_store_sk = s_store_sk
-|  fk/pk conjuncts: ss_store_sk = s_store_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=0,1N,4,5,2,3 row-size=147B cardinality=280.41K cost=280411
-|  in pipelines: 01(GETNEXT), 04(OPEN)
-|
-|--F24:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=8.77MB mem-reservation=8.75MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=3 segment-costs=[15]
-|  JOIN BUILD
-|  |  join-table-id=00 plan-id=01 cohort-id=01
-|  |  build expressions: s_store_sk
-|  |  runtime filters: RF000[bloom] <- s_store_sk, RF001[min_max] <- s_store_sk
-|  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=12
-|  |
-|  44:EXCHANGE [BROADCAST]
-|  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=3 row-size=32B cardinality=12 cost=3
-|  |  in pipelines: 04(GETNEXT)
-|  |
-|  F05:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  Per-Instance Resources: mem-estimate=16.14MB mem-reservation=16.00KB thread-reservation=1
-|  max-parallelism=1 segment-costs=[50002]
-|  04:SCAN HDFS [tpcds_partitioned_parquet_snap.store, RANDOM]
-|     HDFS partitions=1/1 files=1 size=9.93KB
-|     stored statistics:
-|       table: rows=12 size=9.93KB
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=12
-|     mem-estimate=16.00MB mem-reservation=16.00KB thread-reservation=0
-|     tuple-ids=3 row-size=32B cardinality=12 cost=50001
-|     in pipelines: 04(GETNEXT)
-|
-10:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash-table-id=01
-|  hash predicates: ss_sold_date_sk = d_date_sk
-|  fk/pk conjuncts: ss_sold_date_sk = d_date_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=0,1N,4,5,2 row-size=115B cardinality=280.41K cost=280411
-|  in pipelines: 01(GETNEXT), 03(OPEN)
-|
-|--F25:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=8.96MB mem-reservation=8.75MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=3 segment-costs=[7950]
-|  JOIN BUILD
-|  |  join-table-id=01 plan-id=02 cohort-id=01
-|  |  build expressions: d_date_sk
-|  |  runtime filters: RF002[bloom] <- d_date_sk
-|  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=7305
-|  |
-|  43:EXCHANGE [BROADCAST]
-|  |  mem-estimate=215.48KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=2 row-size=26B cardinality=7.30K cost=645
-|  |  in pipelines: 03(GETNEXT)
-|  |
-|  F04:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  Per-Instance Resources: mem-estimate=16.12MB mem-reservation=1.00MB thread-reservation=1
-|  max-parallelism=1 segment-costs=[198168]
-|  03:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
-|     HDFS partitions=1/1 files=1 size=2.15MB
-|     predicates: CAST(d_date AS DATE) <= DATE '1998-09-03', CAST(d_date AS DATE) >= DATE '1998-08-04'
-|     stored statistics:
-|       table: rows=73.05K size=2.15MB
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=73.05K
-|     parquet statistics predicates: CAST(d_date AS DATE) <= DATE '1998-09-03', CAST(d_date AS DATE) >= DATE '1998-08-04'
-|     parquet dictionary predicates: CAST(d_date AS DATE) <= DATE '1998-09-03', CAST(d_date AS DATE) >= DATE '1998-08-04'
-|     mem-estimate=16.00MB mem-reservation=1.00MB thread-reservation=0
-|     tuple-ids=2 row-size=26B cardinality=7.30K cost=197953
-|     in pipelines: 03(GETNEXT)
-|
-09:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash-table-id=02
-|  hash predicates: ss_promo_sk = p_promo_sk
-|  fk/pk conjuncts: ss_promo_sk = p_promo_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=0,1N,4,5 row-size=89B cardinality=280.41K cost=288041
-|  in pipelines: 01(GETNEXT), 06(OPEN)
-|
-|--F26:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=8.77MB mem-reservation=8.75MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=3 segment-costs=[315]
-|  JOIN BUILD
-|  |  join-table-id=02 plan-id=03 cohort-id=01
-|  |  build expressions: p_promo_sk
-|  |  runtime filters: RF004[bloom] <- p_promo_sk, RF005[min_max] <- p_promo_sk
-|  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=294
-|  |
-|  42:EXCHANGE [BROADCAST]
-|  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=5 row-size=17B cardinality=294 cost=21
-|  |  in pipelines: 06(GETNEXT)
-|  |
-|  F03:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  Per-Instance Resources: mem-estimate=16.08MB mem-reservation=32.00KB thread-reservation=1
-|  max-parallelism=1 segment-costs=[50312]
-|  06:SCAN HDFS [tpcds_partitioned_parquet_snap.promotion, RANDOM]
-|     HDFS partitions=1/1 files=1 size=23.30KB
-|     predicates: p_channel_tv = 'N'
-|     stored statistics:
-|       table: rows=300 size=23.30KB
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=300
-|     parquet statistics predicates: p_channel_tv = 'N'
-|     parquet dictionary predicates: p_channel_tv = 'N'
-|     mem-estimate=16.00MB mem-reservation=32.00KB thread-reservation=0
-|     tuple-ids=5 row-size=17B cardinality=294 cost=50305
-|     in pipelines: 06(GETNEXT)
-|
-08:HASH JOIN [INNER JOIN, BROADCAST]
-|  hash-table-id=03
-|  hash predicates: ss_item_sk = i_item_sk
-|  fk/pk conjuncts: ss_item_sk = i_item_sk
-|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
-|  tuple-ids=0,1N,4 row-size=72B cardinality=288.04K cost=288441
-|  in pipelines: 01(GETNEXT), 05(OPEN)
-|
-|--F27:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=8.79MB mem-reservation=8.75MB thread-reservation=1 runtime-filters-memory=1.00MB
-|  |  max-parallelism=3 segment-costs=[1887]
-|  JOIN BUILD
-|  |  join-table-id=03 plan-id=04 cohort-id=01
-|  |  build expressions: i_item_sk
-|  |  runtime filters: RF006[bloom] <- i_item_sk, RF007[min_max] <- i_item_sk
-|  |  mem-estimate=7.75MB mem-reservation=7.75MB spill-buffer=64.00KB thread-reservation=0 cost=1800
-|  |
-|  41:EXCHANGE [BROADCAST]
-|  |  mem-estimate=37.09KB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=4 row-size=12B cardinality=1.80K cost=87
-|  |  in pipelines: 05(GETNEXT)
-|  |
-|  F02:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
-|  Per-Instance Resources: mem-estimate=16.06MB mem-reservation=256.00KB thread-reservation=1
-|  max-parallelism=1 segment-costs=[68240]
-|  05:SCAN HDFS [tpcds_partitioned_parquet_snap.item, RANDOM]
-|     HDFS partitions=1/1 files=1 size=1.73MB
-|     predicates: i_current_price > CAST(50 AS DECIMAL(3,0))
-|     stored statistics:
-|       table: rows=18.00K size=1.73MB
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=18.00K
-|     parquet statistics predicates: i_current_price > CAST(50 AS DECIMAL(3,0))
-|     parquet dictionary predicates: i_current_price > CAST(50 AS DECIMAL(3,0))
-|     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|     tuple-ids=4 row-size=12B cardinality=1.80K cost=68211
-|     in pipelines: 05(GETNEXT)
-|
-07:HASH JOIN [LEFT OUTER JOIN, BROADCAST]
-|  hash-table-id=04
-|  hash predicates: ss_item_sk = sr_item_sk, ss_ticket_number = sr_ticket_number
-|  fk/pk conjuncts: ss_item_sk = sr_item_sk, ss_ticket_number = sr_ticket_number
-|  mem-estimate=0B mem-reservation=0B spill-buffer=1.00MB thread-reservation=0
-|  tuple-ids=0,1N row-size=60B cardinality=288.44K(filtered from 2.88M) cost=576882
-|  in pipelines: 01(GETNEXT), 02(OPEN)
-|
-|--F28:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
-|  |  Per-Instance Resources: mem-estimate=74.91MB mem-reservation=68.00MB thread-reservation=1
-|  |  max-parallelism=3 segment-costs=[598614]
-|  JOIN BUILD
-|  |  join-table-id=04 plan-id=05 cohort-id=01
-|  |  build expressions: sr_item_sk, sr_ticket_number
-|  |  mem-estimate=68.00MB mem-reservation=68.00MB spill-buffer=1.00MB thread-reservation=0 cost=575028
-|  |
-|  40:EXCHANGE [BROADCAST]
-|  |  mem-estimate=6.91MB mem-reservation=0B thread-reservation=0
-|  |  tuple-ids=1 row-size=24B cardinality=287.51K cost=23586
-|  |  in pipelines: 02(GETNEXT)
-|  |
-|  F01:PLAN FRAGMENT [RANDOM] hosts=3 instances=12 (adjusted from 48)
-|  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=16.11MB mem-reservation=256.00KB thread-reservation=1
-|  max-parallelism=12 segment-costs=[100214598]
-|  02:SCAN HDFS [tpcds_partitioned_parquet_snap.store_returns, RANDOM]
-|     HDFS partitions=2004/2004 files=2004 size=33.80MB
-|     runtime filters: RF007[min_max] -> tpcds_partitioned_parquet_snap.store_returns.sr_item_sk, RF006[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_item_sk
-|     stored statistics:
-|       table: rows=287.51K size=33.80MB
-|       partitions: 2004/2004 rows=287.51K
-|       columns: all
-|     extrapolated-rows=disabled max-scan-range-rows=10.01K
-|     mem-estimate=16.00MB mem-reservation=256.00KB thread-reservation=0
-|     tuple-ids=1 row-size=24B cardinality=287.51K cost=100206736
-|     in pipelines: 02(GETNEXT)
-|
-01:SCAN HDFS [tpcds_partitioned_parquet_snap.store_sales, RANDOM]
-   HDFS partitions=1824/1824 files=1824 size=199.36MB
-   runtime filters: RF007[min_max] -> ss_item_sk, RF005[min_max] -> ss_promo_sk, RF001[min_max] -> ss_store_sk, RF006[bloom] -> ss_item_sk, RF004[bloom] -> ss_promo_sk, RF000[bloom] -> ss_store_sk, RF002[bloom] -> ss_sold_date_sk
-   stored statistics:
-     table: rows=2.88M size=199.36MB
-     partitions: 1824/1824 rows=2.88M
-     columns: all
-   extrapolated-rows=disabled max-scan-range-rows=130.09K
-   mem-estimate=16.00MB mem-reservation=4.00MB thread-reservation=0
-   tuple-ids=0 row-size=36B cardinality=288.44K(filtered from 2.88M) cost=91210136
-   in pipelines: 01(GETNEXT)
-====
 # IMPALA-12192: Test that scan fragment parallelism can scale beyond the scan node cost.
 # In this query, preagg node colocated in the scan fragment will have higher cost than
 # the scan node, and increase the parallelism of the scan fragment.
diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds_cpu_cost/tpcds-q01.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds_cpu_cost/tpcds-q01.test
new file mode 100644
index 000000000..df44d2843
--- /dev/null
+++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds_cpu_cost/tpcds-q01.test
@@ -0,0 +1,778 @@
+# TPCDS-Q01
+WITH customer_total_return AS
+  (SELECT sr_customer_sk AS ctr_customer_sk,
+          sr_store_sk AS ctr_store_sk,
+          sum(sr_return_amt) AS ctr_total_return
+   FROM store_returns,
+        date_dim
+   WHERE sr_returned_date_sk = d_date_sk
+     AND d_year = 2000
+   GROUP BY sr_customer_sk,
+            sr_store_sk)
+SELECT c_customer_id
+FROM customer_total_return ctr1,
+     store,
+     customer
+WHERE ctr1.ctr_total_return >
+    (SELECT avg(ctr_total_return)*1.2
+     FROM customer_total_return ctr2
+     WHERE ctr1.ctr_store_sk = ctr2.ctr_store_sk)
+  AND s_store_sk = ctr1.ctr_store_sk
+  AND s_state = 'TN'
+  AND ctr1.ctr_customer_sk = c_customer_sk
+ORDER BY c_customer_id
+LIMIT 100
+---- PLAN
+Max Per-Host Resource Reservation: Memory=21.52MB Threads=1
+Per-Host Resource Estimates: Memory=107MB
+F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
+|  Per-Instance Resources: mem-estimate=106.81MB mem-reservation=21.52MB thread-reservation=1 runtime-filters-memory=5.00MB
+|  max-parallelism=1 segment-costs=[18988889, 18988889, 107030, 369379, 100]
+PLAN-ROOT SINK
+|  output exprs: c_customer_id
+|  mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=100
+|
+14:TOP-N [LIMIT=100]
+|  order by: c_customer_id ASC
+|  mem-estimate=2.73KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=13 row-size=28B cardinality=100 cost=100
+|  in pipelines: 14(GETNEXT), 05(OPEN)
+|
+13:HASH JOIN [LEFT SEMI JOIN]
+|  hash predicates: sr_store_sk = ctr2.ctr_store_sk
+|  other join predicates: sum(sr_return_amt) > avg(ctr_total_return) * CAST(1.2 AS DECIMAL(2,1))
+|  runtime filters: RF000[bloom] <- ctr2.ctr_store_sk, RF001[min_max] <- ctr2.ctr_store_sk
+|  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+|  tuple-ids=5,2,4 row-size=74B cardinality=53.52K cost=107036
+|  in pipelines: 05(GETNEXT), 10(OPEN)
+|
+|--10:AGGREGATE [FINALIZE]
+|  |  output: avg(sum(sr_return_amt))
+|  |  group by: sr_store_sk
+|  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+|  |  tuple-ids=11 row-size=20B cardinality=6 cost=107030
+|  |  in pipelines: 10(GETNEXT), 09(OPEN)
+|  |
+|  09:AGGREGATE [FINALIZE]
+|  |  output: sum(sr_return_amt)
+|  |  group by: sr_customer_sk, sr_store_sk
+|  |  mem-estimate=10.00MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
+|  |  tuple-ids=8 row-size=24B cardinality=53.52K cost=160545
+|  |  in pipelines: 09(GETNEXT), 06(OPEN)
+|  |
+|  08:HASH JOIN [INNER JOIN]
+|  |  hash predicates: sr_returned_date_sk = d_date_sk
+|  |  fk/pk conjuncts: sr_returned_date_sk = d_date_sk
+|  |  runtime filters: RF008[bloom] <- d_date_sk
+|  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+|  |  tuple-ids=6,7 row-size=24B cardinality=53.52K cost=53888
+|  |  in pipelines: 06(GETNEXT), 07(OPEN)
+|  |
+|  |--07:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+|  |     HDFS partitions=1/1 files=1 size=2.15MB
+|  |     predicates: d_year = CAST(2000 AS INT)
+|  |     stored statistics:
+|  |       table: rows=73.05K size=2.15MB
+|  |       columns: all
+|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
+|  |     parquet statistics predicates: d_year = CAST(2000 AS INT)
+|  |     parquet dictionary predicates: d_year = CAST(2000 AS INT)
+|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
+|  |     tuple-ids=7 row-size=8B cardinality=373 cost=123620
+|  |     in pipelines: 07(GETNEXT)
+|  |
+|  06:SCAN HDFS [tpcds_partitioned_parquet_snap.store_returns]
+|     HDFS partitions=2004/2004 files=2004 size=33.80MB
+|     runtime filters: RF008[bloom] -> sr_returned_date_sk
+|     stored statistics:
+|       table: rows=287.51K size=33.80MB
+|       partitions: 2004/2004 rows=287.51K
+|       columns: all
+|     extrapolated-rows=disabled max-scan-range-rows=10.01K est-scan-range=373(filtered from 2004)
+|     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
+|     tuple-ids=6 row-size=16B cardinality=53.52K(filtered from 287.51K) cost=18650836
+|     in pipelines: 06(GETNEXT)
+|
+12:HASH JOIN [INNER JOIN]
+|  hash predicates: sr_store_sk = s_store_sk
+|  fk/pk conjuncts: sr_store_sk = s_store_sk
+|  runtime filters: RF002[bloom] <- s_store_sk, RF003[min_max] <- s_store_sk
+|  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+|  tuple-ids=5,2,4 row-size=74B cardinality=53.52K cost=53527
+|  in pipelines: 05(GETNEXT), 04(OPEN)
+|
+|--04:SCAN HDFS [tpcds_partitioned_parquet_snap.store]
+|     HDFS partitions=1/1 files=1 size=9.93KB
+|     predicates: s_state = 'TN'
+|     runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.store.s_store_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store.s_store_sk
+|     stored statistics:
+|       table: rows=12 size=9.93KB
+|       columns: all
+|     extrapolated-rows=disabled max-scan-range-rows=12
+|     parquet statistics predicates: s_state = 'TN'
+|     parquet dictionary predicates: s_state = 'TN'
+|     mem-estimate=16.00MB mem-reservation=16.00KB thread-reservation=0
+|     tuple-ids=4 row-size=18B cardinality=12 cost=50013
+|     in pipelines: 04(GETNEXT)
+|
+11:HASH JOIN [INNER JOIN]
+|  hash predicates: c_customer_sk = sr_customer_sk
+|  fk/pk conjuncts: none
+|  runtime filters: RF004[bloom] <- sr_customer_sk, RF005[min_max] <- sr_customer_sk
+|  mem-estimate=4.75MB mem-reservation=4.75MB spill-buffer=256.00KB thread-reservation=0
+|  tuple-ids=5,2 row-size=56B cardinality=53.52K cost=107030
+|  in pipelines: 05(GETNEXT), 03(OPEN)
+|
+|--03:AGGREGATE [FINALIZE]
+|  |  output: sum(sr_return_amt)
+|  |  group by: sr_customer_sk, sr_store_sk
+|  |  mem-estimate=10.00MB mem-reservation=2.88MB spill-buffer=128.00KB thread-reservation=0
+|  |  tuple-ids=2 row-size=24B cardinality=53.52K cost=160545
+|  |  in pipelines: 03(GETNEXT), 00(OPEN)
+|  |
+|  02:HASH JOIN [INNER JOIN]
+|  |  hash predicates: sr_returned_date_sk = d_date_sk
+|  |  fk/pk conjuncts: sr_returned_date_sk = d_date_sk
+|  |  runtime filters: RF006[bloom] <- d_date_sk
+|  |  mem-estimate=1.94MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+|  |  tuple-ids=0,1 row-size=24B cardinality=53.52K cost=53888
+|  |  in pipelines: 00(GETNEXT), 01(OPEN)
+|  |
+|  |--01:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim]
+|  |     HDFS partitions=1/1 files=1 size=2.15MB
+|  |     predicates: d_year = CAST(2000 AS INT)
+|  |     stored statistics:
+|  |       table: rows=73.05K size=2.15MB
+|  |       columns: all
+|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
+|  |     parquet statistics predicates: d_year = CAST(2000 AS INT)
+|  |     parquet dictionary predicates: d_year = CAST(2000 AS INT)
+|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
+|  |     tuple-ids=1 row-size=8B cardinality=373 cost=123620
+|  |     in pipelines: 01(GETNEXT)
+|  |
+|  00:SCAN HDFS [tpcds_partitioned_parquet_snap.store_returns]
+|     HDFS partitions=2004/2004 files=2004 size=33.80MB
+|     runtime filters: RF001[min_max] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF003[min_max] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF000[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF002[bloom] -> tpcds_partitioned_parquet_snap.store_returns.sr_store_sk, RF006[bloom] -> sr_returned_date_sk
+|     stored statistics:
+|       table: rows=287.51K size=33.80MB
+|       partitions: 2004/2004 rows=287.51K
+|       columns: all
+|     extrapolated-rows=disabled max-scan-range-rows=10.01K est-scan-range=373(filtered from 2004)
+|     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
+|     tuple-ids=0 row-size=16B cardinality=53.52K(filtered from 287.51K) cost=18650836
+|     in pipelines: 00(GETNEXT)
+|
+05:SCAN HDFS [tpcds_partitioned_parquet_snap.customer]
+   HDFS partitions=1/1 files=1 size=5.49MB
+   runtime filters: RF005[min_max] -> c_customer_sk, RF004[bloom] -> c_customer_sk
+   stored statistics:
+     table: rows=100.00K size=5.49MB
+     columns: all
+   extrapolated-rows=disabled max-scan-range-rows=100.00K
+   mem-estimate=16.00MB mem-reservation=2.00MB thread-reservation=0
+   tuple-ids=5 row-size=32B cardinality=53.52K(filtered from 100.00K) cost=51673
+   in pipelines: 05(GETNEXT)
+---- DISTRIBUTEDPLAN
+Max Per-Host Resource Reservation: Memory=64.39MB Threads=23
+Per-Host Resource Estimates: Memory=299MB
+F10:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1
+|  Per-Instance Resources: mem-estimate=4.02MB mem-reservation=4.00MB thread-reservation=1
+|  max-parallelism=1 segment-costs=[104] cpu-comparison-result=23 [max(1 (self) vs 23 (sum children))]
+PLAN-ROOT SINK
+|  output exprs: c_customer_id
+|  mem-estimate=4.00MB mem-reservation=4.00MB spill-buffer=2.00MB thread-reservation=0 cost=100
+|
+27:MERGING-EXCHANGE [UNPARTITIONED]
+|  order by: c_customer_id ASC
+|  limit: 100
+|  mem-estimate=19.66KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=13 row-size=28B cardinality=100 cost=4
+|  in pipelines: 14(GETNEXT)
+|
+F04:PLAN FRAGMENT [HASH(sr_customer_sk)] hosts=3 instances=6 (adjusted from 48)
+Per-Instance Resources: mem-estimate=588.82KB mem-reservation=0B thread-reservation=1
+max-parallelism=6 segment-costs=[215624, 4] cpu-comparison-result=23 [max(6 (self) vs 23 (sum children))]
+14:TOP-N [LIMIT=100]
+|  order by: c_customer_id ASC
+|  mem-estimate=2.73KB mem-reservation=0B thread-reservation=0
+|  tuple-ids=13 row-size=28B cardinality=100 cost=100
+|  in pipelines: 14(GETNEXT), 17(OPEN)
+|
+13:HASH JOIN [LEFT SEMI JOIN, BROADCAST]
+|  hash-table-id=00
+|  hash predicates: sr_store_sk = ctr2.ctr_store_sk
+|  other join predicates: sum(sr_return_amt) > avg(ctr_total_return) * CAST(1.2 AS DECIMAL(2,1))
+|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
+|  tuple-ids=2,5,4 row-size=74B cardinality=53.52K cost=107030
+|  in pipelines: 17(GETNEXT), 25(OPEN)
+|
+|--F11:PLAN FRAGMENT [HASH(sr_customer_sk)] hosts=3 instances=3
+|  |  Per-Instance Resources: mem-estimate=4.89MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
+|  |  max-parallelism=3 segment-costs=[9] cpu-comparison-result=6 [max(3 (self) vs 6 (sum children))]
+|  JOIN BUILD
+|  |  join-table-id=00 plan-id=01 cohort-id=01
+|  |  build expressions: ctr2.ctr_store_sk
+|  |  runtime filters: RF000[bloom] <- ctr2.ctr_store_sk, RF001[min_max] <- ctr2.ctr_store_sk
+|  |  mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0 cost=6
+|  |
+|  26:EXCHANGE [BROADCAST]
+|  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
+|  |  tuple-ids=11 row-size=20B cardinality=6 cost=3
+|  |  in pipelines: 25(GETNEXT)
+|  |
+|  F09:PLAN FRAGMENT [HASH(ctr2.ctr_store_sk)] hosts=3 instances=6 (adjusted from 48)
+|  Per-Instance Resources: mem-estimate=10.09MB mem-reservation=1.94MB thread-reservation=1
+|  max-parallelism=6 segment-costs=[13, 1] cpu-comparison-result=6 [max(6 (self) vs 6 (sum children))]
+|  25:AGGREGATE [FINALIZE]
+|  |  output: avg:merge(ctr_total_return)
+|  |  group by: ctr2.ctr_store_sk
+|  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+|  |  tuple-ids=11 row-size=20B cardinality=6 cost=12
+|  |  in pipelines: 25(GETNEXT), 23(OPEN)
+|  |
+|  24:EXCHANGE [HASH(ctr2.ctr_store_sk)]
+|  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
+|  |  tuple-ids=10 row-size=20B cardinality=6 cost=1
+|  |  in pipelines: 23(GETNEXT)
+|  |
+|  F08:PLAN FRAGMENT [HASH(sr_customer_sk,sr_store_sk)] hosts=3 instances=6 (adjusted from 48)
+|  Per-Instance Resources: mem-estimate=20.57MB mem-reservation=3.94MB thread-reservation=1
+|  max-parallelism=6 segment-costs=[162009, 107030, 1] cpu-comparison-result=6 [max(6 (self) vs 6 (sum children))]
+|  10:AGGREGATE [STREAMING]
+|  |  output: avg(sum(sr_return_amt))
+|  |  group by: sr_store_sk
+|  |  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+|  |  tuple-ids=10 row-size=20B cardinality=6 cost=107030
+|  |  in pipelines: 23(GETNEXT)
+|  |
+|  23:AGGREGATE [FINALIZE]
+|  |  output: sum:merge(sr_return_amt)
+|  |  group by: sr_customer_sk, sr_store_sk
+|  |  mem-estimate=10.00MB mem-reservation=1.94MB spill-buffer=64.00KB thread-reservation=0
+|  |  tuple-ids=8 row-size=24B cardinality=53.52K cost=160545
+|  |  in pipelines: 23(GETNEXT), 06(OPEN)
+|  |
+|  22:EXCHANGE [HASH(sr_customer_sk,sr_store_sk)]
+|  |  mem-estimate=586.09KB mem-reservation=0B thread-reservation=0
+|  |  tuple-ids=8 row-size=24B cardinality=53.52K cost=1464
+|  |  in pipelines: 06(GETNEXT)
+|  |
+|  F06:PLAN FRAGMENT [RANDOM] hosts=3 instances=6 (adjusted from 48)
+|  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=26.66MB mem-reservation=2.12MB thread-reservation=1
+|  max-parallelism=6 segment-costs=[18864896, 1464] cpu-comparison-result=6 [max(6 (self) vs 4 (sum children))]
+|  09:AGGREGATE [STREAMING]
+|  |  output: sum(sr_return_amt)
+|  |  group by: sr_customer_sk, sr_store_sk
+|  |  mem-estimate=10.00MB mem-reservation=2.00MB spill-buffer=64.00KB thread-reservation=0
+|  |  tuple-ids=8 row-size=24B cardinality=53.52K cost=160545
+|  |  in pipelines: 06(GETNEXT)
+|  |
+|  08:HASH JOIN [INNER JOIN, BROADCAST]
+|  |  hash-table-id=01
+|  |  hash predicates: sr_returned_date_sk = d_date_sk
+|  |  fk/pk conjuncts: sr_returned_date_sk = d_date_sk
+|  |  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
+|  |  tuple-ids=6,7 row-size=24B cardinality=53.52K cost=53515
+|  |  in pipelines: 06(GETNEXT), 07(OPEN)
+|  |
+|  |--F12:PLAN FRAGMENT [RANDOM] hosts=3 instances=3
+|  |  |  Per-Instance Resources: mem-estimate=4.89MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
+|  |  |  max-parallelism=3 segment-costs=[388]
+|  |  JOIN BUILD
+|  |  |  join-table-id=01 plan-id=02 cohort-id=02
+|  |  |  build expressions: d_date_sk
+|  |  |  runtime filters: RF008[bloom] <- d_date_sk
+|  |  |  mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0 cost=373
+|  |  |
+|  |  21:EXCHANGE [BROADCAST]
+|  |  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
+|  |  |  tuple-ids=7 row-size=8B cardinality=373 cost=15
+|  |  |  in pipelines: 07(GETNEXT)
+|  |  |
+|  |  F07: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=[123625]
+|  |  07:SCAN HDFS [tpcds_partitioned_parquet_snap.date_dim, RANDOM]
+|  |     HDFS partitions=1/1 files=1 size=2.15MB
+|  |     predicates: d_year = CAST(2000 AS INT)
+|  |     stored statistics:
+|  |       table: rows=73.05K size=2.15MB
+|  |       columns: all
+|  |     extrapolated-rows=disabled max-scan-range-rows=73.05K
+|  |     parquet statistics predicates: d_year = CAST(2000 AS INT)
+|  |     parquet dictionary predicates: d_year = CAST(2000 AS INT)
+|  |     mem-estimate=16.00MB mem-reservation=512.00KB thread-reservation=0
+|  |     tuple-ids=7 row-size=8B cardinality=373 cost=123620
+|  |     in pipelines: 07(GETNEXT)
+|  |
+|  06:SCAN HDFS [tpcds_partitioned_parquet_snap.store_returns, RANDOM]
+|     HDFS partitions=2004/2004 files=2004 size=33.80MB
+|     runtime filters: RF008[bloom] -> sr_returned_date_sk
+|     stored statistics:
+|       table: rows=287.51K size=33.80MB
+|       partitions: 2004/2004 rows=287.51K
+|       columns: all
+|     extrapolated-rows=disabled max-scan-range-rows=10.01K est-scan-range=373(filtered from 2004)
+|     mem-estimate=16.00MB mem-reservation=128.00KB thread-reservation=0
+|     tuple-ids=6 row-size=16B cardinality=53.52K(filtered from 287.51K) cost=18650836
+|     in pipelines: 06(GETNEXT)
+|
+12:HASH JOIN [INNER JOIN, BROADCAST]
+|  hash-table-id=02
+|  hash predicates: sr_store_sk = s_store_sk
+|  fk/pk conjuncts: sr_store_sk = s_store_sk
+|  mem-estimate=0B mem-reservation=0B spill-buffer=64.00KB thread-reservation=0
+|  tuple-ids=2,5,4 row-size=74B cardinality=53.52K cost=53515
+|  in pipelines: 17(GETNEXT), 04(OPEN)
+|
+|--F13:PLAN FRAGMENT [HASH(sr_customer_sk)] hosts=3 instances=3
+|  |  Per-Instance Resources: mem-estimate=4.89MB mem-reservation=4.88MB thread-reservation=1 runtime-filters-memory=1.00MB
+|  |  max-parallelism=3 segment-costs=[15]
+|  JOIN BUILD
+|  |  join-table-id=02 plan-id=03 cohort-id=01
+|  |  build expressions: s_store_sk
+|  |  runtime filters: RF002[bloom] <- s_store_sk, RF003[min_max] <- s_store_sk
+|  |  mem-estimate=3.88MB mem-reservation=3.88MB spill-buffer=64.00KB thread-reservation=0 cost=12
+|  |
+|  20:EXCHANGE [BROADCAST]
+|  |  mem-estimate=16.00KB mem-reservation=0B thread-reservation=0
+|  |  tuple-ids=4 row-size=18B cardinality=12 cost=3
+|  |  in pipelines: 04(GETNEXT)
+|  |
+|  F05:PLAN FRAGMENT [RANDOM] hosts=1 instances=1
... 112930 lines suppressed ...