local exchange (GATHER, SINGLE, [])
    remote exchange (GATHER, SINGLE, [])
        join (INNER, PARTITIONED):
            join (INNER, PARTITIONED):
                remote exchange (REPARTITION, HASH, ["c_customer_id_184"])
                    join (INNER, PARTITIONED):
                        join (INNER, PARTITIONED):
                            join (INNER, PARTITIONED):
                                local exchange (REPARTITION, ROUND_ROBIN, [])
                                    remote exchange (REPARTITION, HASH, ["c_customer_id"])
                                        final hashaggregation 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_birth_country", "c_customer_id", "c_email_address", "c_first_name", "c_last_name", "c_login", "c_preferred_cust_flag", "d_year"])
                                                    partial hashaggregation 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):
                                                            remote exchange (REPARTITION, HASH, ["ss_customer_sk"])
                                                                join (INNER, REPLICATED):
                                                                    scan store_sales
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                                            scan date_dim (pushdown = true)
                                                            local exchange (GATHER, SINGLE, [])
                                                                remote exchange (REPARTITION, HASH, ["c_customer_sk"])
                                                                    scan customer
                                    remote exchange (REPARTITION, HASH, ["c_customer_id_21"])
                                        single hashaggregation over (c_birth_country_34, c_customer_id_21, c_email_address_36, c_first_name_28, c_last_name_29, c_login_35, c_preferred_cust_flag_30, d_year_46)
                                            join (INNER, REPLICATED):
                                                join (INNER, REPLICATED):
                                                    values (0 rows)
                                                    values (0 rows)
                                                values (0 rows)
                                    remote exchange (REPARTITION, HASH, ["c_customer_id_108"])
                                        single hashaggregation over (c_birth_country_121, c_customer_id_108, c_email_address_123, c_first_name_115, c_last_name_116, c_login_122, c_preferred_cust_flag_117, d_year_133)
                                            join (INNER, REPLICATED):
                                                join (INNER, REPLICATED):
                                                    values (0 rows)
                                                    values (0 rows)
                                                values (0 rows)
                                local exchange (GATHER, SINGLE, [])
                                    remote exchange (REPARTITION, HASH, ["c_customer_id_215"])
                                        final hashaggregation over (c_birth_country_228, c_customer_id_215, c_email_address_230, c_first_name_222, c_last_name_223, c_login_229, c_preferred_cust_flag_224, d_year_263)
                                            local exchange (GATHER, SINGLE, [])
                                                remote exchange (REPARTITION, HASH, ["c_birth_country_228", "c_customer_id_215", "c_email_address_230", "c_first_name_222", "c_last_name_223", "c_login_229", "c_preferred_cust_flag_224", "d_year_263"])
                                                    partial hashaggregation over (c_birth_country_228, c_customer_id_215, c_email_address_230, c_first_name_222, c_last_name_223, c_login_229, c_preferred_cust_flag_224, d_year_263)
                                                        join (INNER, PARTITIONED):
                                                            remote exchange (REPARTITION, HASH, ["ss_customer_sk_236"])
                                                                join (INNER, REPLICATED):
                                                                    scan store_sales
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                                            scan date_dim (pushdown = true)
                                                            local exchange (GATHER, SINGLE, [])
                                                                remote exchange (REPARTITION, HASH, ["c_customer_sk_214"])
                                                                    scan customer
                                    remote exchange (REPARTITION, HASH, ["c_customer_id_315"])
                                        single hashaggregation over (c_birth_country_328, c_customer_id_315, c_email_address_330, c_first_name_322, c_last_name_323, c_login_329, c_preferred_cust_flag_324, d_year_374)
                                            join (INNER, REPLICATED):
                                                join (INNER, REPLICATED):
                                                    values (0 rows)
                                                    values (0 rows)
                                                values (0 rows)
                                    remote exchange (REPARTITION, HASH, ["c_customer_id_436"])
                                        single hashaggregation over (c_birth_country_449, c_customer_id_436, c_email_address_451, c_first_name_443, c_last_name_444, c_login_450, c_preferred_cust_flag_445, d_year_495)
                                            join (INNER, REPLICATED):
                                                join (INNER, REPLICATED):
                                                    values (0 rows)
                                                    values (0 rows)
                                                values (0 rows)
                            local exchange (GATHER, SINGLE, [])
                                remote exchange (REPARTITION, HASH, ["c_customer_id_577"])
                                    single hashaggregation over (c_birth_country_590, c_customer_id_577, c_email_address_592, c_first_name_584, c_last_name_585, c_login_591, c_preferred_cust_flag_586, d_year_625)
                                        join (INNER, REPLICATED):
                                            join (INNER, REPLICATED):
                                                values (0 rows)
                                                values (0 rows)
                                            values (0 rows)
                                remote exchange (REPARTITION, HASH, ["c_customer_id_677"])
                                    final hashaggregation over (c_birth_country_690, c_customer_id_677, c_email_address_692, c_first_name_684, c_last_name_685, c_login_691, c_preferred_cust_flag_686, d_year_736)
                                        local exchange (GATHER, SINGLE, [])
                                            remote exchange (REPARTITION, HASH, ["c_birth_country_690", "c_customer_id_677", "c_email_address_692", "c_first_name_684", "c_last_name_685", "c_login_691", "c_preferred_cust_flag_686", "d_year_736"])
                                                partial hashaggregation over (c_birth_country_690, c_customer_id_677, c_email_address_692, c_first_name_684, c_last_name_685, c_login_691, c_preferred_cust_flag_686, d_year_736)
                                                    join (INNER, PARTITIONED):
                                                        remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk_698"])
                                                            join (INNER, REPLICATED):
                                                                scan catalog_sales
                                                                local exchange (GATHER, SINGLE, [])
                                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                                        scan date_dim (pushdown = true)
                                                        local exchange (GATHER, SINGLE, [])
                                                            remote exchange (REPARTITION, HASH, ["c_customer_sk_676"])
                                                                scan customer
                                remote exchange (REPARTITION, HASH, ["c_customer_id_798"])
                                    single hashaggregation over (c_birth_country_811, c_customer_id_798, c_email_address_813, c_first_name_805, c_last_name_806, c_login_812, c_preferred_cust_flag_807, d_year_857)
                                        join (INNER, REPLICATED):
                                            join (INNER, REPLICATED):
                                                values (0 rows)
                                                values (0 rows)
                                            values (0 rows)
                        local exchange (GATHER, SINGLE, [])
                            remote exchange (REPARTITION, HASH, ["c_customer_id_939"])
                                single hashaggregation over (c_birth_country_952, c_customer_id_939, c_email_address_954, c_first_name_946, c_last_name_947, c_login_953, c_preferred_cust_flag_948, d_year_987)
                                    join (INNER, REPLICATED):
                                        join (INNER, REPLICATED):
                                            values (0 rows)
                                            values (0 rows)
                                        values (0 rows)
                            remote exchange (REPARTITION, HASH, ["c_customer_id_1039"])
                                final hashaggregation over (c_birth_country_1052, c_customer_id_1039, c_email_address_1054, c_first_name_1046, c_last_name_1047, c_login_1053, c_preferred_cust_flag_1048, d_year_1098)
                                    local exchange (GATHER, SINGLE, [])
                                        remote exchange (REPARTITION, HASH, ["c_birth_country_1052", "c_customer_id_1039", "c_email_address_1054", "c_first_name_1046", "c_last_name_1047", "c_login_1053", "c_preferred_cust_flag_1048", "d_year_1098"])
                                            partial hashaggregation over (c_birth_country_1052, c_customer_id_1039, c_email_address_1054, c_first_name_1046, c_last_name_1047, c_login_1053, c_preferred_cust_flag_1048, d_year_1098)
                                                join (INNER, PARTITIONED):
                                                    remote exchange (REPARTITION, HASH, ["cs_bill_customer_sk_1060"])
                                                        join (INNER, REPLICATED):
                                                            scan catalog_sales
                                                            local exchange (GATHER, SINGLE, [])
                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                    scan date_dim (pushdown = true)
                                                    local exchange (GATHER, SINGLE, [])
                                                        remote exchange (REPARTITION, HASH, ["c_customer_sk_1038"])
                                                            scan customer
                            remote exchange (REPARTITION, HASH, ["c_customer_id_1160"])
                                single hashaggregation over (c_birth_country_1173, c_customer_id_1160, c_email_address_1175, c_first_name_1167, c_last_name_1168, c_login_1174, c_preferred_cust_flag_1169, d_year_1219)
                                    join (INNER, REPLICATED):
                                        join (INNER, REPLICATED):
                                            values (0 rows)
                                            values (0 rows)
                                        values (0 rows)
                local exchange (GATHER, SINGLE, [])
                    remote exchange (REPARTITION, HASH, ["c_customer_id_1301"])
                        single hashaggregation over (c_birth_country_1314, c_customer_id_1301, c_email_address_1316, c_first_name_1308, c_last_name_1309, c_login_1315, c_preferred_cust_flag_1310, d_year_1349)
                            join (INNER, REPLICATED):
                                join (INNER, REPLICATED):
                                    values (0 rows)
                                    values (0 rows)
                                values (0 rows)
                    remote exchange (REPARTITION, HASH, ["c_customer_id_1401"])
                        single hashaggregation over (c_birth_country_1414, c_customer_id_1401, c_email_address_1416, c_first_name_1408, c_last_name_1409, c_login_1415, c_preferred_cust_flag_1410, d_year_1460)
                            join (INNER, REPLICATED):
                                join (INNER, REPLICATED):
                                    values (0 rows)
                                    values (0 rows)
                                values (0 rows)
                    remote exchange (REPARTITION, HASH, ["c_customer_id_1522"])
                        final hashaggregation over (c_birth_country_1535, c_customer_id_1522, c_email_address_1537, c_first_name_1529, c_last_name_1530, c_login_1536, c_preferred_cust_flag_1531, d_year_1581)
                            local exchange (GATHER, SINGLE, [])
                                remote exchange (REPARTITION, HASH, ["c_birth_country_1535", "c_customer_id_1522", "c_email_address_1537", "c_first_name_1529", "c_last_name_1530", "c_login_1536", "c_preferred_cust_flag_1531", "d_year_1581"])
                                    partial hashaggregation over (c_birth_country_1535, c_customer_id_1522, c_email_address_1537, c_first_name_1529, c_last_name_1530, c_login_1536, c_preferred_cust_flag_1531, d_year_1581)
                                        join (INNER, PARTITIONED):
                                            remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_1544"])
                                                join (INNER, REPLICATED):
                                                    scan web_sales
                                                    local exchange (GATHER, SINGLE, [])
                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                            scan date_dim (pushdown = true)
                                            local exchange (GATHER, SINGLE, [])
                                                remote exchange (REPARTITION, HASH, ["c_customer_sk_1521"])
                                                    scan customer
            local exchange (GATHER, SINGLE, [])
                remote exchange (REPARTITION, HASH, ["c_customer_id_1663"])
                    single hashaggregation over (c_birth_country_1676, c_customer_id_1663, c_email_address_1678, c_first_name_1670, c_last_name_1671, c_login_1677, c_preferred_cust_flag_1672, d_year_1711)
                        join (INNER, REPLICATED):
                            join (INNER, REPLICATED):
                                values (0 rows)
                                values (0 rows)
                            values (0 rows)
                remote exchange (REPARTITION, HASH, ["c_customer_id_1763"])
                    single hashaggregation over (c_birth_country_1776, c_customer_id_1763, c_email_address_1778, c_first_name_1770, c_last_name_1771, c_login_1777, c_preferred_cust_flag_1772, d_year_1822)
                        join (INNER, REPLICATED):
                            join (INNER, REPLICATED):
                                values (0 rows)
                                values (0 rows)
                            values (0 rows)
                remote exchange (REPARTITION, HASH, ["c_customer_id_1884"])
                    final hashaggregation over (c_birth_country_1897, c_customer_id_1884, c_email_address_1899, c_first_name_1891, c_last_name_1892, c_login_1898, c_preferred_cust_flag_1893, d_year_1943)
                        local exchange (GATHER, SINGLE, [])
                            remote exchange (REPARTITION, HASH, ["c_birth_country_1897", "c_customer_id_1884", "c_email_address_1899", "c_first_name_1891", "c_last_name_1892", "c_login_1898", "c_preferred_cust_flag_1893", "d_year_1943"])
                                partial hashaggregation over (c_birth_country_1897, c_customer_id_1884, c_email_address_1899, c_first_name_1891, c_last_name_1892, c_login_1898, c_preferred_cust_flag_1893, d_year_1943)
                                    join (INNER, PARTITIONED):
                                        remote exchange (REPARTITION, HASH, ["ws_bill_customer_sk_1906"])
                                            join (INNER, REPLICATED):
                                                scan web_sales
                                                local exchange (GATHER, SINGLE, [])
                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                        scan date_dim (pushdown = true)
                                        local exchange (GATHER, SINGLE, [])
                                            remote exchange (REPARTITION, HASH, ["c_customer_sk_1883"])
                                                scan customer
