TakeOrderedAndProject [c_customer_id,customer_id,customername]
  WholeStageCodegen (6)
    Project [c_customer_id,c_last_name,c_first_name]
      BroadcastHashJoin [cd_demo_sk,sr_cdemo_sk]
        Project [c_customer_id,c_first_name,c_last_name,cd_demo_sk]
          BroadcastHashJoin [hd_income_band_sk,ib_income_band_sk]
            Project [c_customer_id,c_first_name,c_last_name,cd_demo_sk,hd_income_band_sk]
              BroadcastHashJoin [c_current_hdemo_sk,hd_demo_sk]
                Project [c_customer_id,c_current_hdemo_sk,c_first_name,c_last_name,cd_demo_sk]
                  BroadcastHashJoin [c_current_cdemo_sk,cd_demo_sk]
                    Project [c_customer_id,c_current_cdemo_sk,c_current_hdemo_sk,c_first_name,c_last_name]
                      BroadcastHashJoin [c_current_addr_sk,ca_address_sk]
                        Filter [c_current_addr_sk,c_current_cdemo_sk,c_current_hdemo_sk]
                          ColumnarToRow
                            InputAdapter
                              Scan parquet default.customer [c_customer_id,c_current_cdemo_sk,c_current_hdemo_sk,c_current_addr_sk,c_first_name,c_last_name]
                        InputAdapter
                          BroadcastExchange #1
                            WholeStageCodegen (1)
                              Project [ca_address_sk]
                                Filter [ca_city,ca_address_sk]
                                  ColumnarToRow
                                    InputAdapter
                                      Scan parquet default.customer_address [ca_address_sk,ca_city]
                    InputAdapter
                      BroadcastExchange #2
                        WholeStageCodegen (2)
                          Filter [cd_demo_sk]
                            ColumnarToRow
                              InputAdapter
                                Scan parquet default.customer_demographics [cd_demo_sk]
                InputAdapter
                  BroadcastExchange #3
                    WholeStageCodegen (3)
                      Filter [hd_demo_sk,hd_income_band_sk]
                        ColumnarToRow
                          InputAdapter
                            Scan parquet default.household_demographics [hd_demo_sk,hd_income_band_sk]
            InputAdapter
              BroadcastExchange #4
                WholeStageCodegen (4)
                  Project [ib_income_band_sk]
                    Filter [ib_lower_bound,ib_upper_bound,ib_income_band_sk]
                      ColumnarToRow
                        InputAdapter
                          Scan parquet default.income_band [ib_income_band_sk,ib_lower_bound,ib_upper_bound]
        InputAdapter
          BroadcastExchange #5
            WholeStageCodegen (5)
              Filter [sr_cdemo_sk]
                ColumnarToRow
                  InputAdapter
                    Scan parquet default.store_returns [sr_cdemo_sk]
