WholeStageCodegen (1)
  ColumnarToRow
    InputAdapter
      CometSort [brand_id,brand,t_hour,t_minute,ext_price]
        CometColumnarExchange [ext_price,brand_id] #1
          CometHashAggregate [brand_id,brand,t_hour,t_minute,ext_price,i_brand,i_brand_id,sum,sum(UnscaledValue(ext_price))]
            CometExchange [i_brand,i_brand_id,t_hour,t_minute] #2
              CometHashAggregate [i_brand,i_brand_id,t_hour,t_minute,sum,ext_price]
                CometProject [i_brand_id,i_brand,ext_price,t_hour,t_minute]
                  CometBroadcastHashJoin [i_brand_id,i_brand,ext_price,time_sk,t_time_sk,t_hour,t_minute]
                    CometProject [i_brand_id,i_brand,ext_price,time_sk]
                      CometBroadcastHashJoin [i_item_sk,i_brand_id,i_brand,ext_price,sold_item_sk,time_sk]
                        CometBroadcastExchange [i_item_sk,i_brand_id,i_brand] #3
                          CometProject [i_item_sk,i_brand_id,i_brand]
                            CometFilter [i_item_sk,i_brand_id,i_brand,i_manager_id]
                              CometNativeScan: `spark_catalog`.`default`.`item` [i_item_sk,i_brand_id,i_brand,i_manager_id]
                        CometUnion [ext_price,sold_item_sk,time_sk]
                          CometProject [ws_ext_sales_price,ws_item_sk,ws_sold_time_sk] [ext_price,sold_item_sk,time_sk]
                            CometBroadcastHashJoin [ws_sold_time_sk,ws_item_sk,ws_ext_sales_price,ws_sold_date_sk,d_date_sk]
                              CometFilter [ws_sold_time_sk,ws_item_sk,ws_ext_sales_price,ws_sold_date_sk]
                                CometNativeScan: `spark_catalog`.`default`.`web_sales` [ws_sold_time_sk,ws_item_sk,ws_ext_sales_price,ws_sold_date_sk]
                              CometBroadcastExchange [d_date_sk] #4
                                CometProject [d_date_sk]
                                  CometFilter [d_date_sk,d_year,d_moy]
                                    CometNativeScan: `spark_catalog`.`default`.`date_dim` [d_date_sk,d_year,d_moy]
                          CometProject [cs_ext_sales_price,cs_item_sk,cs_sold_time_sk] [ext_price,sold_item_sk,time_sk]
                            CometBroadcastHashJoin [cs_sold_time_sk,cs_item_sk,cs_ext_sales_price,cs_sold_date_sk,d_date_sk]
                              CometFilter [cs_sold_time_sk,cs_item_sk,cs_ext_sales_price,cs_sold_date_sk]
                                CometNativeScan: `spark_catalog`.`default`.`catalog_sales` [cs_sold_time_sk,cs_item_sk,cs_ext_sales_price,cs_sold_date_sk]
                              ReusedExchange [d_date_sk] #4
                          CometProject [ss_ext_sales_price,ss_item_sk,ss_sold_time_sk] [ext_price,sold_item_sk,time_sk]
                            CometBroadcastHashJoin [ss_sold_time_sk,ss_item_sk,ss_ext_sales_price,ss_sold_date_sk,d_date_sk]
                              CometFilter [ss_sold_time_sk,ss_item_sk,ss_ext_sales_price,ss_sold_date_sk]
                                CometNativeScan: `spark_catalog`.`default`.`store_sales` [ss_sold_time_sk,ss_item_sk,ss_ext_sales_price,ss_sold_date_sk]
                              ReusedExchange [d_date_sk] #4
                    CometBroadcastExchange [t_time_sk,t_hour,t_minute] #5
                      CometProject [t_time_sk,t_hour,t_minute]
                        CometFilter [t_time_sk,t_hour,t_minute,t_meal_time]
                          CometNativeScan: `spark_catalog`.`default`.`time_dim` [t_time_sk,t_hour,t_minute,t_meal_time]
