local exchange (GATHER, SINGLE, [])
    remote exchange (GATHER, SINGLE, [])
        local exchange (GATHER, SINGLE, [])
            local exchange (REPARTITION, ROUND_ROBIN, [])
                join (INNER, PARTITIONED):
                    join (INNER, PARTITIONED):
                        final aggregation over (c_birth_country_89, c_customer_id_76, c_email_address_91, c_first_name_83, c_last_name_84, c_login_90, c_preferred_cust_flag_85, d_year_128)
                            local exchange (GATHER, SINGLE, [])
                                remote exchange (REPARTITION, HASH, [c_customer_id_76])
                                    intermediate aggregation over (c_birth_country_89, c_customer_id_76, c_email_address_91, c_first_name_83, c_last_name_84, c_login_90, c_preferred_cust_flag_85, d_year_128)
                                        join (INNER, PARTITIONED):
                                            partial aggregation over (d_year_128, ss_customer_sk_98)
                                                remote exchange (REPARTITION, HASH, [ss_customer_sk_98])
                                                    join (INNER, REPLICATED):
                                                        dynamic filter (ss_customer_sk_98::EQUAL, ss_sold_date_sk_118::EQUAL)
                                                            scan store_sales
                                                        local exchange (GATHER, SINGLE, [])
                                                            remote exchange (REPLICATE, BROADCAST, [])
                                                                scan date_dim
                                            local exchange (GATHER, SINGLE, [])
                                                remote exchange (REPARTITION, HASH, [c_customer_sk_75])
                                                    dynamic filter (c_customer_id_76::EQUAL, c_customer_id_76::EQUAL)
                                                        scan customer
                        final aggregation over (c_birth_country_353, c_customer_id_340, c_email_address_355, c_first_name_347, c_last_name_348, c_login_354, c_preferred_cust_flag_349, d_year_403)
                            local exchange (GATHER, SINGLE, [])
                                remote exchange (REPARTITION, HASH, [c_customer_id_340])
                                    intermediate aggregation over (c_birth_country_353, c_customer_id_340, c_email_address_355, c_first_name_347, c_last_name_348, c_login_354, c_preferred_cust_flag_349, d_year_403)
                                        join (INNER, PARTITIONED):
                                            partial aggregation over (d_year_403, ws_bill_customer_sk_363)
                                                remote exchange (REPARTITION, HASH, [ws_bill_customer_sk_363])
                                                    join (INNER, REPLICATED):
                                                        dynamic filter (ws_bill_customer_sk_363::EQUAL, ws_sold_date_sk_393::EQUAL)
                                                            scan web_sales
                                                        local exchange (GATHER, SINGLE, [])
                                                            remote exchange (REPLICATE, BROADCAST, [])
                                                                scan date_dim
                                            local exchange (GATHER, SINGLE, [])
                                                remote exchange (REPARTITION, HASH, [c_customer_sk_339])
                                                    dynamic filter (c_customer_id_340::EQUAL)
                                                        scan customer
                    join (INNER, PARTITIONED):
                        final aggregation over (c_birth_country, c_customer_id, c_email_address, c_first_name, c_last_name, c_login, c_preferred_cust_flag, d_year)
                            local exchange (GATHER, SINGLE, [])
                                remote exchange (REPARTITION, HASH, [c_customer_id])
                                    intermediate aggregation over (c_birth_country, c_customer_id, c_email_address, c_first_name, c_last_name, c_login, c_preferred_cust_flag, d_year)
                                        join (INNER, PARTITIONED):
                                            partial aggregation over (d_year, ss_customer_sk)
                                                remote exchange (REPARTITION, HASH, [ss_customer_sk])
                                                    join (INNER, REPLICATED):
                                                        dynamic filter (ss_customer_sk::EQUAL, ss_sold_date_sk::EQUAL)
                                                            scan store_sales
                                                        local exchange (GATHER, SINGLE, [])
                                                            remote exchange (REPLICATE, BROADCAST, [])
                                                                scan date_dim
                                            local exchange (GATHER, SINGLE, [])
                                                remote exchange (REPARTITION, HASH, [c_customer_sk])
                                                    dynamic filter (c_customer_id::EQUAL)
                                                        scan customer
                        final aggregation over (c_birth_country_536, c_customer_id_523, c_email_address_538, c_first_name_530, c_last_name_531, c_login_537, c_preferred_cust_flag_532, d_year_586)
                            local exchange (GATHER, SINGLE, [])
                                remote exchange (REPARTITION, HASH, [c_customer_id_523])
                                    intermediate aggregation over (c_birth_country_536, c_customer_id_523, c_email_address_538, c_first_name_530, c_last_name_531, c_login_537, c_preferred_cust_flag_532, d_year_586)
                                        join (INNER, PARTITIONED):
                                            partial aggregation over (d_year_586, ws_bill_customer_sk_546)
                                                remote exchange (REPARTITION, HASH, [ws_bill_customer_sk_546])
                                                    join (INNER, REPLICATED):
                                                        dynamic filter (ws_bill_customer_sk_546::EQUAL, ws_sold_date_sk_576::EQUAL)
                                                            scan web_sales
                                                        local exchange (GATHER, SINGLE, [])
                                                            remote exchange (REPLICATE, BROADCAST, [])
                                                                scan date_dim
                                            local exchange (GATHER, SINGLE, [])
                                                remote exchange (REPARTITION, HASH, [c_customer_sk_522])
                                                    scan customer
