VeloxColumnarToRow
  TakeOrderedAndProjectExecTransformer [customer_id,customer_first_name,customer_last_name,customer_email_address]
    WholeStageCodegenTransformer (20)
      ProjectExecTransformer [customer_id,customer_first_name,customer_last_name,customer_email_address]
        BroadcastHashJoinExecTransformer [customer_id,customer_id,year_total,year_total,year_total,year_total]
          ProjectExecTransformer [customer_id,year_total,customer_id,customer_first_name,customer_last_name,customer_email_address,year_total,year_total]
            BroadcastHashJoinExecTransformer [customer_id,customer_id]
              BroadcastHashJoinExecTransformer [customer_id,customer_id]
                FilterExecTransformer [year_total]
                  ProjectExecTransformer [c_customer_id,sum(UnscaledValue((ss_ext_list_price - ss_ext_discount_amt)))]
                    RegularHashAggregateExecTransformer [c_customer_id,c_first_name,c_last_name,d_year,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,sum] [sum(UnscaledValue((ss_ext_list_price - ss_ext_discount_amt))),sum]
                      InputIteratorTransformer
                        InputAdapter
                          ColumnarExchange [c_customer_id,c_first_name,c_last_name,d_year,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,sum] #1
                            VeloxResizeBatches
                              WholeStageCodegenTransformer (4)
                                ProjectExecTransformer [c_customer_id,c_first_name,c_last_name,d_year,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,sum]
                                  FlushableHashAggregateExecTransformer [c_customer_id,c_first_name,c_last_name,d_year,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,_pre_x] [sum,sum,sum]
                                    ProjectExecTransformer [c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year,ss_ext_list_price,ss_ext_discount_amt]
                                      BroadcastHashJoinExecTransformer [ss_sold_date_sk,d_date_sk]
                                        ProjectExecTransformer [c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,ss_ext_discount_amt,ss_ext_list_price,ss_sold_date_sk]
                                          BroadcastHashJoinExecTransformer [c_customer_sk,ss_customer_sk]
                                            FilterExecTransformer [c_customer_sk,c_customer_id]
                                              FileSourceScanExecTransformer parquet spark_catalog.default.customer [c_customer_sk,c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address]
                                            InputIteratorTransformer
                                              InputAdapter
                                                ColumnarBroadcastExchange #2
                                                  WholeStageCodegenTransformer (2)
                                                    FilterExecTransformer [ss_customer_sk]
                                                      FileSourceScanExecTransformer parquet spark_catalog.default.store_sales [ss_customer_sk,ss_ext_discount_amt,ss_ext_list_price,ss_sold_date_sk]
                                                        ColumnarSubqueryBroadcast [d_date_sk] #1
                                                          ColumnarBroadcastExchange #3
                                                            WholeStageCodegenTransformer (1)
                                                              FilterExecTransformer [d_year,d_date_sk]
                                                                FileSourceScanExecTransformer parquet spark_catalog.default.date_dim [d_date_sk,d_year]
                                        InputIteratorTransformer
                                          InputAdapter
                                            ReusedExchange [d_date_sk,d_year] #3
                InputIteratorTransformer
                  InputAdapter
                    ColumnarBroadcastExchange #4
                      WholeStageCodegenTransformer (9)
                        ProjectExecTransformer [c_customer_id,c_first_name,c_last_name,c_email_address,sum(UnscaledValue((ss_ext_list_price - ss_ext_discount_amt)))]
                          RegularHashAggregateExecTransformer [c_customer_id,c_first_name,c_last_name,d_year,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,sum] [sum(UnscaledValue((ss_ext_list_price - ss_ext_discount_amt))),sum]
                            InputIteratorTransformer
                              InputAdapter
                                ColumnarExchange [c_customer_id,c_first_name,c_last_name,d_year,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,sum] #5
                                  VeloxResizeBatches
                                    WholeStageCodegenTransformer (8)
                                      ProjectExecTransformer [c_customer_id,c_first_name,c_last_name,d_year,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,sum]
                                        FlushableHashAggregateExecTransformer [c_customer_id,c_first_name,c_last_name,d_year,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,_pre_x] [sum,sum,sum]
                                          ProjectExecTransformer [c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year,ss_ext_list_price,ss_ext_discount_amt]
                                            BroadcastHashJoinExecTransformer [ss_sold_date_sk,d_date_sk]
                                              ProjectExecTransformer [c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,ss_ext_discount_amt,ss_ext_list_price,ss_sold_date_sk]
                                                BroadcastHashJoinExecTransformer [c_customer_sk,ss_customer_sk]
                                                  FilterExecTransformer [c_customer_sk,c_customer_id]
                                                    FileSourceScanExecTransformer parquet spark_catalog.default.customer [c_customer_sk,c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address]
                                                  InputIteratorTransformer
                                                    InputAdapter
                                                      ColumnarBroadcastExchange #6
                                                        WholeStageCodegenTransformer (6)
                                                          FilterExecTransformer [ss_customer_sk]
                                                            FileSourceScanExecTransformer parquet spark_catalog.default.store_sales [ss_customer_sk,ss_ext_discount_amt,ss_ext_list_price,ss_sold_date_sk]
                                                              ColumnarSubqueryBroadcast [d_date_sk] #2
                                                                ColumnarBroadcastExchange #7
                                                                  WholeStageCodegenTransformer (5)
                                                                    FilterExecTransformer [d_year,d_date_sk]
                                                                      FileSourceScanExecTransformer parquet spark_catalog.default.date_dim [d_date_sk,d_year]
                                              InputIteratorTransformer
                                                InputAdapter
                                                  ReusedExchange [d_date_sk,d_year] #7
              InputIteratorTransformer
                InputAdapter
                  ColumnarBroadcastExchange #8
                    WholeStageCodegenTransformer (14)
                      FilterExecTransformer [year_total]
                        ProjectExecTransformer [c_customer_id,sum(UnscaledValue((ws_ext_list_price - ws_ext_discount_amt)))]
                          RegularHashAggregateExecTransformer [c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year,sum] [sum(UnscaledValue((ws_ext_list_price - ws_ext_discount_amt))),sum]
                            InputIteratorTransformer
                              InputAdapter
                                ColumnarExchange [c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year,sum] #9
                                  VeloxResizeBatches
                                    WholeStageCodegenTransformer (13)
                                      ProjectExecTransformer [c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year,sum]
                                        FlushableHashAggregateExecTransformer [c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year,_pre_x] [sum,sum,sum]
                                          ProjectExecTransformer [c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year,ws_ext_list_price,ws_ext_discount_amt]
                                            BroadcastHashJoinExecTransformer [ws_sold_date_sk,d_date_sk]
                                              ProjectExecTransformer [c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,ws_ext_discount_amt,ws_ext_list_price,ws_sold_date_sk]
                                                BroadcastHashJoinExecTransformer [c_customer_sk,ws_bill_customer_sk]
                                                  FilterExecTransformer [c_customer_sk,c_customer_id]
                                                    FileSourceScanExecTransformer parquet spark_catalog.default.customer [c_customer_sk,c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address]
                                                  InputIteratorTransformer
                                                    InputAdapter
                                                      ColumnarBroadcastExchange #10
                                                        WholeStageCodegenTransformer (11)
                                                          FilterExecTransformer [ws_bill_customer_sk]
                                                            FileSourceScanExecTransformer parquet spark_catalog.default.web_sales [ws_bill_customer_sk,ws_ext_discount_amt,ws_ext_list_price,ws_sold_date_sk]
                                                              ReusedSubquery [d_date_sk] #1
                                              InputIteratorTransformer
                                                InputAdapter
                                                  ReusedExchange [d_date_sk,d_year] #3
          InputIteratorTransformer
            InputAdapter
              ColumnarBroadcastExchange #11
                WholeStageCodegenTransformer (19)
                  ProjectExecTransformer [c_customer_id,sum(UnscaledValue((ws_ext_list_price - ws_ext_discount_amt)))]
                    RegularHashAggregateExecTransformer [c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year,sum] [sum(UnscaledValue((ws_ext_list_price - ws_ext_discount_amt))),sum]
                      InputIteratorTransformer
                        InputAdapter
                          ColumnarExchange [c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year,sum] #12
                            VeloxResizeBatches
                              WholeStageCodegenTransformer (18)
                                ProjectExecTransformer [c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year,sum]
                                  FlushableHashAggregateExecTransformer [c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year,_pre_x] [sum,sum,sum]
                                    ProjectExecTransformer [c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,d_year,ws_ext_list_price,ws_ext_discount_amt]
                                      BroadcastHashJoinExecTransformer [ws_sold_date_sk,d_date_sk]
                                        ProjectExecTransformer [c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address,ws_ext_discount_amt,ws_ext_list_price,ws_sold_date_sk]
                                          BroadcastHashJoinExecTransformer [c_customer_sk,ws_bill_customer_sk]
                                            FilterExecTransformer [c_customer_sk,c_customer_id]
                                              FileSourceScanExecTransformer parquet spark_catalog.default.customer [c_customer_sk,c_customer_id,c_first_name,c_last_name,c_preferred_cust_flag,c_birth_country,c_login,c_email_address]
                                            InputIteratorTransformer
                                              InputAdapter
                                                ColumnarBroadcastExchange #13
                                                  WholeStageCodegenTransformer (16)
                                                    FilterExecTransformer [ws_bill_customer_sk]
                                                      FileSourceScanExecTransformer parquet spark_catalog.default.web_sales [ws_bill_customer_sk,ws_ext_discount_amt,ws_ext_list_price,ws_sold_date_sk]
                                                        ReusedSubquery [d_date_sk] #2
                                        InputIteratorTransformer
                                          InputAdapter
                                            ReusedExchange [d_date_sk,d_year] #7
