WholeStageCodegen (2)
  Project [amc,pmc]
    BroadcastNestedLoopJoin
      CometColumnarToRow
        InputAdapter
          CometHashAggregate [count] [amc,count(1)]
            CometExchange #1
              CometHashAggregate [count]
                CometProject
                  CometBroadcastHashJoin [ws_web_page_sk,wp_web_page_sk]
                    CometProject [ws_web_page_sk]
                      CometBroadcastHashJoin [ws_sold_time_sk,ws_web_page_sk,t_time_sk]
                        CometProject [ws_sold_time_sk,ws_web_page_sk]
                          CometBroadcastHashJoin [ws_sold_time_sk,ws_ship_hdemo_sk,ws_web_page_sk,hd_demo_sk]
                            CometProject [ws_sold_time_sk,ws_ship_hdemo_sk,ws_web_page_sk]
                              CometFilter [ws_sold_time_sk,ws_ship_hdemo_sk,ws_web_page_sk,ws_sold_date_sk]
                                CometScan [native_iceberg_compat] parquet spark_catalog.default.web_sales [ws_sold_time_sk,ws_ship_hdemo_sk,ws_web_page_sk,ws_sold_date_sk]
                            CometBroadcastExchange [hd_demo_sk] #2
                              CometProject [hd_demo_sk]
                                CometFilter [hd_demo_sk,hd_dep_count]
                                  CometScan [native_iceberg_compat] parquet spark_catalog.default.household_demographics [hd_demo_sk,hd_dep_count]
                        CometBroadcastExchange [t_time_sk] #3
                          CometProject [t_time_sk]
                            CometFilter [t_time_sk,t_hour]
                              CometScan [native_iceberg_compat] parquet spark_catalog.default.time_dim [t_time_sk,t_hour]
                    CometBroadcastExchange [wp_web_page_sk] #4
                      CometProject [wp_web_page_sk]
                        CometFilter [wp_web_page_sk,wp_char_count]
                          CometScan [native_iceberg_compat] parquet spark_catalog.default.web_page [wp_web_page_sk,wp_char_count]
      InputAdapter
        BroadcastExchange #5
          WholeStageCodegen (1)
            CometColumnarToRow
              InputAdapter
                CometHashAggregate [count] [pmc,count(1)]
                  CometExchange #6
                    CometHashAggregate [count]
                      CometProject
                        CometBroadcastHashJoin [ws_web_page_sk,wp_web_page_sk]
                          CometProject [ws_web_page_sk]
                            CometBroadcastHashJoin [ws_sold_time_sk,ws_web_page_sk,t_time_sk]
                              CometProject [ws_sold_time_sk,ws_web_page_sk]
                                CometBroadcastHashJoin [ws_sold_time_sk,ws_ship_hdemo_sk,ws_web_page_sk,hd_demo_sk]
                                  CometProject [ws_sold_time_sk,ws_ship_hdemo_sk,ws_web_page_sk]
                                    CometFilter [ws_sold_time_sk,ws_ship_hdemo_sk,ws_web_page_sk,ws_sold_date_sk]
                                      CometScan [native_iceberg_compat] parquet spark_catalog.default.web_sales [ws_sold_time_sk,ws_ship_hdemo_sk,ws_web_page_sk,ws_sold_date_sk]
                                  ReusedExchange [hd_demo_sk] #2
                              CometBroadcastExchange [t_time_sk] #7
                                CometProject [t_time_sk]
                                  CometFilter [t_time_sk,t_hour]
                                    CometScan [native_iceberg_compat] parquet spark_catalog.default.time_dim [t_time_sk,t_hour]
                          ReusedExchange [wp_web_page_sk] #4
