WholeStageCodegen (16)
  BroadcastNestedLoopJoin
    BroadcastNestedLoopJoin
      BroadcastNestedLoopJoin
        BroadcastNestedLoopJoin
          BroadcastNestedLoopJoin
            BroadcastNestedLoopJoin
              BroadcastNestedLoopJoin
                HashAggregate [count] [count(1),h8_30_to_9,count]
                  InputAdapter
                    Exchange #1
                      WholeStageCodegen (1)
                        ColumnarToRow
                          InputAdapter
                            CometHashAggregate [count]
                              CometProject
                                CometBroadcastHashJoin [ss_store_sk,s_store_sk]
                                  CometProject [ss_store_sk]
                                    CometBroadcastHashJoin [ss_sold_time_sk,ss_store_sk,t_time_sk]
                                      CometProject [ss_sold_time_sk,ss_store_sk]
                                        CometBroadcastHashJoin [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,hd_demo_sk]
                                          CometProject [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk]
                                            CometFilter [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                              CometScan parquet spark_catalog.default.store_sales [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                          CometBroadcastExchange [hd_demo_sk] #2
                                            CometProject [hd_demo_sk]
                                              CometFilter [hd_demo_sk,hd_dep_count,hd_vehicle_count]
                                                CometScan parquet spark_catalog.default.household_demographics [hd_demo_sk,hd_dep_count,hd_vehicle_count]
                                      CometBroadcastExchange [t_time_sk] #3
                                        CometProject [t_time_sk]
                                          CometFilter [t_time_sk,t_hour,t_minute]
                                            CometScan parquet spark_catalog.default.time_dim [t_time_sk,t_hour,t_minute]
                                  CometBroadcastExchange [s_store_sk] #4
                                    CometProject [s_store_sk]
                                      CometFilter [s_store_sk,s_store_name]
                                        CometScan parquet spark_catalog.default.store [s_store_sk,s_store_name]
                InputAdapter
                  BroadcastExchange #5
                    WholeStageCodegen (3)
                      HashAggregate [count] [count(1),h9_to_9_30,count]
                        InputAdapter
                          Exchange #6
                            WholeStageCodegen (2)
                              ColumnarToRow
                                InputAdapter
                                  CometHashAggregate [count]
                                    CometProject
                                      CometBroadcastHashJoin [ss_store_sk,s_store_sk]
                                        CometProject [ss_store_sk]
                                          CometBroadcastHashJoin [ss_sold_time_sk,ss_store_sk,t_time_sk]
                                            CometProject [ss_sold_time_sk,ss_store_sk]
                                              CometBroadcastHashJoin [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,hd_demo_sk]
                                                CometProject [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk]
                                                  CometFilter [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                                    CometScan parquet spark_catalog.default.store_sales [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                                ReusedExchange [hd_demo_sk] #2
                                            CometBroadcastExchange [t_time_sk] #7
                                              CometProject [t_time_sk]
                                                CometFilter [t_time_sk,t_hour,t_minute]
                                                  CometScan parquet spark_catalog.default.time_dim [t_time_sk,t_hour,t_minute]
                                        ReusedExchange [s_store_sk] #4
              InputAdapter
                BroadcastExchange #8
                  WholeStageCodegen (5)
                    HashAggregate [count] [count(1),h9_30_to_10,count]
                      InputAdapter
                        Exchange #9
                          WholeStageCodegen (4)
                            ColumnarToRow
                              InputAdapter
                                CometHashAggregate [count]
                                  CometProject
                                    CometBroadcastHashJoin [ss_store_sk,s_store_sk]
                                      CometProject [ss_store_sk]
                                        CometBroadcastHashJoin [ss_sold_time_sk,ss_store_sk,t_time_sk]
                                          CometProject [ss_sold_time_sk,ss_store_sk]
                                            CometBroadcastHashJoin [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,hd_demo_sk]
                                              CometProject [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk]
                                                CometFilter [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                                  CometScan parquet spark_catalog.default.store_sales [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                              ReusedExchange [hd_demo_sk] #2
                                          CometBroadcastExchange [t_time_sk] #10
                                            CometProject [t_time_sk]
                                              CometFilter [t_time_sk,t_hour,t_minute]
                                                CometScan parquet spark_catalog.default.time_dim [t_time_sk,t_hour,t_minute]
                                      ReusedExchange [s_store_sk] #4
            InputAdapter
              BroadcastExchange #11
                WholeStageCodegen (7)
                  HashAggregate [count] [count(1),h10_to_10_30,count]
                    InputAdapter
                      Exchange #12
                        WholeStageCodegen (6)
                          ColumnarToRow
                            InputAdapter
                              CometHashAggregate [count]
                                CometProject
                                  CometBroadcastHashJoin [ss_store_sk,s_store_sk]
                                    CometProject [ss_store_sk]
                                      CometBroadcastHashJoin [ss_sold_time_sk,ss_store_sk,t_time_sk]
                                        CometProject [ss_sold_time_sk,ss_store_sk]
                                          CometBroadcastHashJoin [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,hd_demo_sk]
                                            CometProject [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk]
                                              CometFilter [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                                CometScan parquet spark_catalog.default.store_sales [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                            ReusedExchange [hd_demo_sk] #2
                                        CometBroadcastExchange [t_time_sk] #13
                                          CometProject [t_time_sk]
                                            CometFilter [t_time_sk,t_hour,t_minute]
                                              CometScan parquet spark_catalog.default.time_dim [t_time_sk,t_hour,t_minute]
                                    ReusedExchange [s_store_sk] #4
          InputAdapter
            BroadcastExchange #14
              WholeStageCodegen (9)
                HashAggregate [count] [count(1),h10_30_to_11,count]
                  InputAdapter
                    Exchange #15
                      WholeStageCodegen (8)
                        ColumnarToRow
                          InputAdapter
                            CometHashAggregate [count]
                              CometProject
                                CometBroadcastHashJoin [ss_store_sk,s_store_sk]
                                  CometProject [ss_store_sk]
                                    CometBroadcastHashJoin [ss_sold_time_sk,ss_store_sk,t_time_sk]
                                      CometProject [ss_sold_time_sk,ss_store_sk]
                                        CometBroadcastHashJoin [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,hd_demo_sk]
                                          CometProject [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk]
                                            CometFilter [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                              CometScan parquet spark_catalog.default.store_sales [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                          ReusedExchange [hd_demo_sk] #2
                                      CometBroadcastExchange [t_time_sk] #16
                                        CometProject [t_time_sk]
                                          CometFilter [t_time_sk,t_hour,t_minute]
                                            CometScan parquet spark_catalog.default.time_dim [t_time_sk,t_hour,t_minute]
                                  ReusedExchange [s_store_sk] #4
        InputAdapter
          BroadcastExchange #17
            WholeStageCodegen (11)
              HashAggregate [count] [count(1),h11_to_11_30,count]
                InputAdapter
                  Exchange #18
                    WholeStageCodegen (10)
                      ColumnarToRow
                        InputAdapter
                          CometHashAggregate [count]
                            CometProject
                              CometBroadcastHashJoin [ss_store_sk,s_store_sk]
                                CometProject [ss_store_sk]
                                  CometBroadcastHashJoin [ss_sold_time_sk,ss_store_sk,t_time_sk]
                                    CometProject [ss_sold_time_sk,ss_store_sk]
                                      CometBroadcastHashJoin [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,hd_demo_sk]
                                        CometProject [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk]
                                          CometFilter [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                            CometScan parquet spark_catalog.default.store_sales [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                        ReusedExchange [hd_demo_sk] #2
                                    CometBroadcastExchange [t_time_sk] #19
                                      CometProject [t_time_sk]
                                        CometFilter [t_time_sk,t_hour,t_minute]
                                          CometScan parquet spark_catalog.default.time_dim [t_time_sk,t_hour,t_minute]
                                ReusedExchange [s_store_sk] #4
      InputAdapter
        BroadcastExchange #20
          WholeStageCodegen (13)
            HashAggregate [count] [count(1),h11_30_to_12,count]
              InputAdapter
                Exchange #21
                  WholeStageCodegen (12)
                    ColumnarToRow
                      InputAdapter
                        CometHashAggregate [count]
                          CometProject
                            CometBroadcastHashJoin [ss_store_sk,s_store_sk]
                              CometProject [ss_store_sk]
                                CometBroadcastHashJoin [ss_sold_time_sk,ss_store_sk,t_time_sk]
                                  CometProject [ss_sold_time_sk,ss_store_sk]
                                    CometBroadcastHashJoin [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,hd_demo_sk]
                                      CometProject [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk]
                                        CometFilter [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                          CometScan parquet spark_catalog.default.store_sales [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                      ReusedExchange [hd_demo_sk] #2
                                  CometBroadcastExchange [t_time_sk] #22
                                    CometProject [t_time_sk]
                                      CometFilter [t_time_sk,t_hour,t_minute]
                                        CometScan parquet spark_catalog.default.time_dim [t_time_sk,t_hour,t_minute]
                              ReusedExchange [s_store_sk] #4
    InputAdapter
      BroadcastExchange #23
        WholeStageCodegen (15)
          HashAggregate [count] [count(1),h12_to_12_30,count]
            InputAdapter
              Exchange #24
                WholeStageCodegen (14)
                  ColumnarToRow
                    InputAdapter
                      CometHashAggregate [count]
                        CometProject
                          CometBroadcastHashJoin [ss_store_sk,s_store_sk]
                            CometProject [ss_store_sk]
                              CometBroadcastHashJoin [ss_sold_time_sk,ss_store_sk,t_time_sk]
                                CometProject [ss_sold_time_sk,ss_store_sk]
                                  CometBroadcastHashJoin [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,hd_demo_sk]
                                    CometProject [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk]
                                      CometFilter [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                        CometScan parquet spark_catalog.default.store_sales [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                    ReusedExchange [hd_demo_sk] #2
                                CometBroadcastExchange [t_time_sk] #25
                                  CometProject [t_time_sk]
                                    CometFilter [t_time_sk,t_hour,t_minute]
                                      CometScan parquet spark_catalog.default.time_dim [t_time_sk,t_hour,t_minute]
                            ReusedExchange [s_store_sk] #4
