You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Asif (Jira)" <ji...@apache.org> on 2020/10/31 06:04:00 UTC

[jira] [Commented] (SPARK-29606) Improve EliminateOuterJoin performance

    [ https://issues.apache.org/jira/browse/SPARK-29606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17224007#comment-17224007 ] 

Asif commented on SPARK-29606:
------------------------------

Have proposed following PR which completely solves the issue.

 

[PR-33152|https://github.com/apache/spark/pull/30185]

> Improve EliminateOuterJoin performance
> --------------------------------------
>
>                 Key: SPARK-29606
>                 URL: https://issues.apache.org/jira/browse/SPARK-29606
>             Project: Spark
>          Issue Type: Sub-task
>          Components: SQL
>    Affects Versions: 3.0.0
>            Reporter: Yuming Wang
>            Priority: Major
>
> How to reproduce:
> {code:scala}
> spark.sql(
>   """
>     |CREATE TABLE `big_table1`(`adj_type_id` tinyint, `byr_cntry_id` decimal(4,0), `sap_category_id` decimal(9,0), `lstg_site_id` decimal(9,0), `lstg_type_code` decimal(4,0), `offrd_slng_chnl_grp_id` smallint, `slr_cntry_id` decimal(4,0), `sold_slng_chnl_grp_id` smallint, `bin_lstg_yn_id` tinyint, `bin_sold_yn_id` tinyint, `lstg_curncy_id` decimal(4,0), `blng_curncy_id` decimal(4,0), `bid_count` decimal(18,0), `ck_trans_count` decimal(18,0), `ended_bid_count` decimal(18,0), `new_lstg_count` decimal(18,0), `ended_lstg_count` decimal(18,0), `ended_success_lstg_count` decimal(18,0), `item_sold_count` decimal(18,0), `gmv_us_amt` decimal(18,2), `gmv_byr_lc_amt` decimal(18,2), `gmv_slr_lc_amt` decimal(18,2), `gmv_lstg_curncy_amt` decimal(18,2), `gmv_us_m_amt` decimal(18,2), `rvnu_insrtn_fee_us_amt` decimal(18,6), `rvnu_insrtn_fee_lc_amt` decimal(18,6), `rvnu_insrtn_fee_bc_amt` decimal(18,6), `rvnu_insrtn_fee_us_m_amt` decimal(18,6), `rvnu_insrtn_crd_us_amt` decimal(18,6), `rvnu_insrtn_crd_lc_amt` decimal(18,6), `rvnu_insrtn_crd_bc_amt` decimal(18,6), `rvnu_insrtn_crd_us_m_amt` decimal(18,6), `rvnu_fetr_fee_us_amt` decimal(18,6), `rvnu_fetr_fee_lc_amt` decimal(18,6), `rvnu_fetr_fee_bc_amt` decimal(18,6), `rvnu_fetr_fee_us_m_amt` decimal(18,6), `rvnu_fetr_crd_us_amt` decimal(18,6), `rvnu_fetr_crd_lc_amt` decimal(18,6), `rvnu_fetr_crd_bc_amt` decimal(18,6), `rvnu_fetr_crd_us_m_amt` decimal(18,6), `rvnu_fv_fee_us_amt` decimal(18,6), `rvnu_fv_fee_slr_lc_amt` decimal(18,6), `rvnu_fv_fee_byr_lc_amt` decimal(18,6), `rvnu_fv_fee_bc_amt` decimal(18,6), `rvnu_fv_fee_us_m_amt` decimal(18,6), `rvnu_fv_crd_us_amt` decimal(18,6), `rvnu_fv_crd_byr_lc_amt` decimal(18,6), `rvnu_fv_crd_slr_lc_amt` decimal(18,6), `rvnu_fv_crd_bc_amt` decimal(18,6), `rvnu_fv_crd_us_m_amt` decimal(18,6), `rvnu_othr_l_fee_us_amt` decimal(18,6), `rvnu_othr_l_fee_lc_amt` decimal(18,6), `rvnu_othr_l_fee_bc_amt` decimal(18,6), `rvnu_othr_l_fee_us_m_amt` decimal(18,6), `rvnu_othr_l_crd_us_amt` decimal(18,6), `rvnu_othr_l_crd_lc_amt` decimal(18,6), `rvnu_othr_l_crd_bc_amt` decimal(18,6), `rvnu_othr_l_crd_us_m_amt` decimal(18,6), `rvnu_othr_nl_fee_us_amt` decimal(18,6), `rvnu_othr_nl_fee_lc_amt` decimal(18,6), `rvnu_othr_nl_fee_bc_amt` decimal(18,6), `rvnu_othr_nl_fee_us_m_amt` decimal(18,6), `rvnu_othr_nl_crd_us_amt` decimal(18,6), `rvnu_othr_nl_crd_lc_amt` decimal(18,6), `rvnu_othr_nl_crd_bc_amt` decimal(18,6), `rvnu_othr_nl_crd_us_m_amt` decimal(18,6), `rvnu_slr_tools_fee_us_amt` decimal(18,6), `rvnu_slr_tools_fee_lc_amt` decimal(18,6), `rvnu_slr_tools_fee_bc_amt` decimal(18,6), `rvnu_slr_tools_fee_us_m_amt` decimal(18,6), `rvnu_slr_tools_crd_us_amt` decimal(18,6), `rvnu_slr_tools_crd_lc_amt` decimal(18,6), `rvnu_slr_tools_crd_bc_amt` decimal(18,6), `rvnu_slr_tools_crd_us_m_amt` decimal(18,6), `rvnu_unasgnd_us_amt` decimal(18,6), `rvnu_unasgnd_lc_amt` decimal(18,6), `rvnu_unasgnd_bc_amt` decimal(18,6), `rvnu_unasgnd_us_m_amt` decimal(18,6), `rvnu_ad_fee_us_amt` decimal(18,6), `rvnu_ad_fee_lc_amt` decimal(18,6), `rvnu_ad_fee_bc_amt` decimal(18,6), `rvnu_ad_fee_us_m_amt` decimal(18,6), `rvnu_ad_crd_us_amt` decimal(18,6), `rvnu_ad_crd_lc_amt` decimal(18,6), `rvnu_ad_crd_bc_amt` decimal(18,6), `rvnu_ad_crd_us_m_amt` decimal(18,6), `rvnu_othr_ad_fee_us_amt` decimal(18,6), `rvnu_othr_ad_fee_lc_amt` decimal(18,6), `rvnu_othr_ad_fee_bc_amt` decimal(18,6), `rvnu_othr_ad_fee_us_m_amt` decimal(18,6), `cre_date` date, `cre_user` string, `upd_date` timestamp, `upd_user` string, `cmn_mtrc_summ_dt` date)
>     |USING parquet
>     PARTITIONED BY (`cmn_mtrc_summ_dt`)
>     |""".stripMargin)
> spark.sql(
>   """
>     |CREATE TABLE `small_table1` (`CURNCY_ID` DECIMAL(9,0), `CURNCY_PLAN_RATE` DECIMAL(18,6), `CRE_DATE` DATE, `CRE_USER` STRING, `UPD_DATE` TIMESTAMP, `UPD_USER` STRING)
>     |USING parquet
>     |CLUSTERED BY (CURNCY_ID)
>     |SORTED BY (CURNCY_ID)
>     |INTO 1 BUCKETS
>     |""".stripMargin)
> spark.sql(
>   """
>     |CREATE TABLE `small_table2` (`cntry_id` DECIMAL(4,0), `curncy_id` DECIMAL(4,0), `cntry_desc` STRING, `cntry_code` STRING, `iso_cntry_code` STRING, `cultural` STRING, `cntry_busn_unit` STRING, `high_vol_cntry_yn_id` TINYINT, `check_sil` TINYINT, `rev_rollup_id` SMALLINT, `rev_rollup` STRING, `prft_cntr_id` INT, `prft_cntr` STRING, `cre_date` DATE, `upd_date` TIMESTAMP, `cre_user` STRING, `upd_user` STRING)
>     |USING parquet
>     |""".stripMargin)
> spark.sql(
>   """
>     |CREATE TABLE `small_table3` (`rev_rollup_id` SMALLINT, `rev_rollup` STRING, `rev_rollup_name` STRING, `curncy_id` DECIMAL(4,0), `holding_company` DECIMAL(9,0), `company_code` DECIMAL(9,0), `business_unit` DECIMAL(9,0), `dept_code` STRING, `online` DECIMAL(9,0), `premier` DECIMAL(9,0), `partner` DECIMAL(9,0), `real_estate` DECIMAL(9,0), `legal_entity_id` DECIMAL(4,0), `src_rev_rollup_id` SMALLINT, `prft_cntr` DECIMAL(9,0), `mngrl_cntry_id` STRING, `cre_date` DATE, `upd_date` TIMESTAMP, `cre_user` STRING, `upd_user` STRING, `pb_min_succ_bid_count` INT, `pb_enbld_yn_id` TINYINT, `sap_prft_cntr_id` INT)
>     |USING parquet
>     |""".stripMargin)
> spark.sql(
>   """
>     |CREATE VIEW `big_view1`(cmn_mtrc_summ_dt, adj_type_id, byr_cntry_id, sap_category_id, lstg_site_id, lstg_type_code, offrd_slng_chnl_grp_id, slr_cntry_id, sold_slng_chnl_grp_id, bin_lstg_yn_id, bin_sold_yn_id, lstg_curncy_id, blng_curncy_id, bid_count, ck_trans_count, ended_bid_count, ended_lstg_count, ended_success_lstg_count, item_sold_count, new_lstg_count, gmv_us_amt, gmv_slr_lc_amt, gmv_byr_lc_amt, gmv_lstg_curncy_amt, gmv_us_m_amt, rvnu_insrtn_fee_us_amt, rvnu_insrtn_fee_lc_amt, rvnu_insrtn_fee_bc_amt, rvnu_insrtn_fee_us_m_amt, rvnu_insrtn_crd_us_amt, rvnu_insrtn_crd_lc_amt, rvnu_insrtn_crd_bc_amt, rvnu_insrtn_crd_us_m_amt, rvnu_fetr_fee_us_amt, rvnu_fetr_fee_lc_amt, rvnu_fetr_fee_bc_amt, rvnu_fetr_fee_us_m_amt, rvnu_fetr_crd_us_amt, rvnu_fetr_crd_lc_amt, rvnu_fetr_crd_bc_amt, rvnu_fetr_crd_us_m_amt, rvnu_fv_fee_us_amt, rvnu_fv_fee_byr_lc_amt, rvnu_fv_fee_slr_lc_amt, rvnu_fv_fee_bc_amt, rvnu_fv_fee_us_m_amt, rvnu_fv_crd_us_amt, rvnu_fv_crd_byr_lc_amt, rvnu_fv_crd_slr_lc_amt, rvnu_fv_crd_bc_amt, rvnu_fv_crd_us_m_amt, rvnu_othr_l_fee_us_amt, rvnu_othr_l_fee_lc_amt, rvnu_othr_l_fee_bc_amt, rvnu_othr_l_fee_us_m_amt, rvnu_othr_l_crd_us_amt, rvnu_othr_l_crd_lc_amt, rvnu_othr_l_crd_bc_amt, rvnu_othr_l_crd_us_m_amt, rvnu_othr_nl_fee_us_amt, rvnu_othr_nl_fee_lc_amt, rvnu_othr_nl_fee_bc_amt, rvnu_othr_nl_fee_us_m_amt, rvnu_othr_nl_crd_us_amt, rvnu_othr_nl_crd_lc_amt, rvnu_othr_nl_crd_bc_amt, rvnu_othr_nl_crd_us_m_amt, rvnu_slr_tools_fee_us_amt, rvnu_slr_tools_fee_lc_amt, rvnu_slr_tools_fee_bc_amt, rvnu_slr_tools_fee_us_m_amt, rvnu_slr_tools_crd_us_amt, rvnu_slr_tools_crd_lc_amt, rvnu_slr_tools_crd_bc_amt, rvnu_slr_tools_crd_us_m_amt, rvnu_unasgnd_us_amt, rvnu_unasgnd_lc_amt, rvnu_unasgnd_bc_amt, rvnu_unasgnd_us_m_amt, rvnu_ad_fee_us_amt, rvnu_ad_fee_lc_amt, rvnu_ad_fee_bc_amt, rvnu_ad_fee_us_m_amt, rvnu_ad_crd_us_amt, rvnu_ad_crd_lc_amt, rvnu_ad_crd_bc_amt, rvnu_ad_crd_us_m_amt, rvnu_othr_ad_fee_us_amt, rvnu_othr_ad_fee_lc_amt, rvnu_othr_ad_fee_bc_amt, rvnu_othr_ad_fee_us_m_amt, rvnu_transaction_us_amt, rvnu_transaction_lc_amt, rvnu_transaction_bc_amt, rvnu_transaction_crd_us_amt, rvnu_transaction_crd_lc_amt, rvnu_transaction_crd_bc_amt, rvnu_total_us_amt, rvnu_total_lc_amt, rvnu_total_bc_amt, rvnu_total_crd_us_amt, rvnu_total_crd_lc_amt, rvnu_total_crd_bc_amt, gmv_usd_plan_amt, gmv_slr_lc_plan_amt, gmv_byr_lc_plan_amt, rvnu_insrtn_fee_usd_plan_amt, rvnu_insrtn_crd_usd_plan_amt, rvnu_fetr_fee_usd_plan_amt, rvnu_fetr_crd_usd_plan_amt, rvnu_fv_fee_usd_plan_amt, rvnu_fv_crd_usd_plan_amt, rvnu_othr_l_fee_usd_plan_amt, rvnu_othr_l_crd_usd_plan_amt, rvnu_othr_nl_fee_usd_plan_amt, rvnu_othr_nl_crd_usd_plan_amt, rvnu_slr_tls_fee_usd_plan_amt, rvnu_slr_tls_crd_usd_plan_amt, rvnu_unasgnd_usd_plan_amt, rvnu_ad_fee_usd_plan_amt, rvnu_ad_crd_usd_plan_amt, rvnu_othr_ad_fee_usd_plan_amt, rvnu_trans_usd_plan_amt, rvnu_trans_crd_usd_plan_amt, rvnu_total_usd_plan_amt, rvnu_total_crd_usd_plan_amt, rvnu_insrtn_fee_lc_plan_amt, rvnu_insrtn_crd_lc_plan_amt, rvnu_fetr_fee_lc_plan_amt, rvnu_fetr_crd_lc_plan_amt, rvnu_fv_fee_lc_plan_amt, rvnu_fv_crd_lc_plan_amt, rvnu_othr_l_fee_lc_plan_amt, rvnu_othr_l_crd_lc_plan_amt, rvnu_othr_nl_fee_lc_plan_amt, rvnu_othr_nl_crd_lc_plan_amt, rvnu_slr_tls_fee_lc_plan_amt, rvnu_slr_tls_crd_lc_plan_amt, rvnu_unasgnd_lc_plan_amt, rvnu_ad_fee_lc_plan_amt, rvnu_ad_crd_lc_plan_amt, rvnu_othr_ad_fee_lc_plan_amt, rvnu_trans_lc_plan_amt, rvnu_trans_crd_lc_plan_amt, rvnu_total_lc_plan_amt, rvnu_total_crd_lc_plan_amt, cre_date, cre_user, upd_date, upd_user) AS
>     |SELECT gen_attr_0 AS cmn_mtrc_summ_dt, gen_attr_2 AS adj_type_id, gen_attr_4 AS byr_cntry_id, gen_attr_6 AS sap_category_id, gen_attr_8 AS lstg_site_id, gen_attr_10 AS lstg_type_code, gen_attr_12 AS offrd_slng_chnl_grp_id, gen_attr_14 AS slr_cntry_id, gen_attr_16 AS sold_slng_chnl_grp_id, gen_attr_18 AS bin_lstg_yn_id, gen_attr_20 AS bin_sold_yn_id, gen_attr_22 AS lstg_curncy_id, gen_attr_24 AS blng_curncy_id, gen_attr_26 AS bid_count, gen_attr_28 AS ck_trans_count, gen_attr_30 AS ended_bid_count, gen_attr_32 AS ended_lstg_count, gen_attr_34 AS ended_success_lstg_count, gen_attr_36 AS item_sold_count, gen_attr_38 AS new_lstg_count, gen_attr_40 AS gmv_us_amt, gen_attr_42 AS gmv_slr_lc_amt, gen_attr_44 AS gmv_byr_lc_amt, gen_attr_46 AS gmv_lstg_curncy_amt, gen_attr_48 AS gmv_us_m_amt, gen_attr_50 AS rvnu_insrtn_fee_us_amt, gen_attr_52 AS rvnu_insrtn_fee_lc_amt, gen_attr_54 AS rvnu_insrtn_fee_bc_amt, gen_attr_56 AS rvnu_insrtn_fee_us_m_amt, gen_attr_58 AS rvnu_insrtn_crd_us_amt, gen_attr_60 AS rvnu_insrtn_crd_lc_amt, gen_attr_62 AS rvnu_insrtn_crd_bc_amt, gen_attr_64 AS rvnu_insrtn_crd_us_m_amt, gen_attr_66 AS rvnu_fetr_fee_us_amt, gen_attr_68 AS rvnu_fetr_fee_lc_amt, gen_attr_70 AS rvnu_fetr_fee_bc_amt, gen_attr_72 AS rvnu_fetr_fee_us_m_amt, gen_attr_74 AS rvnu_fetr_crd_us_amt, gen_attr_76 AS rvnu_fetr_crd_lc_amt, gen_attr_78 AS rvnu_fetr_crd_bc_amt, gen_attr_80 AS rvnu_fetr_crd_us_m_amt, gen_attr_82 AS rvnu_fv_fee_us_amt, gen_attr_84 AS rvnu_fv_fee_byr_lc_amt, gen_attr_86 AS rvnu_fv_fee_slr_lc_amt, gen_attr_88 AS rvnu_fv_fee_bc_amt, gen_attr_90 AS rvnu_fv_fee_us_m_amt, gen_attr_92 AS rvnu_fv_crd_us_amt, gen_attr_94 AS rvnu_fv_crd_byr_lc_amt, gen_attr_96 AS rvnu_fv_crd_slr_lc_amt, gen_attr_98 AS rvnu_fv_crd_bc_amt, gen_attr_100 AS rvnu_fv_crd_us_m_amt, gen_attr_102 AS rvnu_othr_l_fee_us_amt, gen_attr_104 AS rvnu_othr_l_fee_lc_amt, gen_attr_106 AS rvnu_othr_l_fee_bc_amt, gen_attr_108 AS rvnu_othr_l_fee_us_m_amt, gen_attr_110 AS rvnu_othr_l_crd_us_amt, gen_attr_112 AS rvnu_othr_l_crd_lc_amt, gen_attr_114 AS rvnu_othr_l_crd_bc_amt, gen_attr_116 AS rvnu_othr_l_crd_us_m_amt, gen_attr_118 AS rvnu_othr_nl_fee_us_amt, gen_attr_120 AS rvnu_othr_nl_fee_lc_amt, gen_attr_122 AS rvnu_othr_nl_fee_bc_amt, gen_attr_124 AS rvnu_othr_nl_fee_us_m_amt, gen_attr_126 AS rvnu_othr_nl_crd_us_amt, gen_attr_128 AS rvnu_othr_nl_crd_lc_amt, gen_attr_130 AS rvnu_othr_nl_crd_bc_amt, gen_attr_132 AS rvnu_othr_nl_crd_us_m_amt, gen_attr_134 AS rvnu_slr_tools_fee_us_amt, gen_attr_136 AS rvnu_slr_tools_fee_lc_amt, gen_attr_138 AS rvnu_slr_tools_fee_bc_amt, gen_attr_140 AS rvnu_slr_tools_fee_us_m_amt, gen_attr_142 AS rvnu_slr_tools_crd_us_amt, gen_attr_144 AS rvnu_slr_tools_crd_lc_amt, gen_attr_146 AS rvnu_slr_tools_crd_bc_amt, gen_attr_148 AS rvnu_slr_tools_crd_us_m_amt, gen_attr_150 AS rvnu_unasgnd_us_amt, gen_attr_152 AS rvnu_unasgnd_lc_amt, gen_attr_154 AS rvnu_unasgnd_bc_amt, gen_attr_156 AS rvnu_unasgnd_us_m_amt, gen_attr_158 AS rvnu_ad_fee_us_amt, gen_attr_160 AS rvnu_ad_fee_lc_amt, gen_attr_162 AS rvnu_ad_fee_bc_amt, gen_attr_164 AS rvnu_ad_fee_us_m_amt, gen_attr_166 AS rvnu_ad_crd_us_amt, gen_attr_168 AS rvnu_ad_crd_lc_amt, gen_attr_170 AS rvnu_ad_crd_bc_amt, gen_attr_172 AS rvnu_ad_crd_us_m_amt, gen_attr_174 AS rvnu_othr_ad_fee_us_amt, gen_attr_176 AS rvnu_othr_ad_fee_lc_amt, gen_attr_178 AS rvnu_othr_ad_fee_bc_amt, gen_attr_180 AS rvnu_othr_ad_fee_us_m_amt, gen_attr_182 AS rvnu_transaction_us_amt, gen_attr_184 AS rvnu_transaction_lc_amt, gen_attr_186 AS rvnu_transaction_bc_amt, gen_attr_188 AS rvnu_transaction_crd_us_amt, gen_attr_190 AS rvnu_transaction_crd_lc_amt, gen_attr_192 AS rvnu_transaction_crd_bc_amt, gen_attr_194 AS rvnu_total_us_amt, gen_attr_196 AS rvnu_total_lc_amt, gen_attr_198 AS rvnu_total_bc_amt, gen_attr_200 AS rvnu_total_crd_us_amt, gen_attr_202 AS rvnu_total_crd_lc_amt, gen_attr_204 AS rvnu_total_crd_bc_amt, gen_attr_206 AS gmv_usd_plan_amt, gen_attr_208 AS gmv_slr_lc_plan_amt, gen_attr_210 AS gmv_byr_lc_plan_amt, gen_attr_212 AS rvnu_insrtn_fee_usd_plan_amt, gen_attr_214 AS rvnu_insrtn_crd_usd_plan_amt, gen_attr_216 AS rvnu_fetr_fee_usd_plan_amt, gen_attr_218 AS rvnu_fetr_crd_usd_plan_amt, gen_attr_220 AS rvnu_fv_fee_usd_plan_amt, gen_attr_222 AS rvnu_fv_crd_usd_plan_amt, gen_attr_224 AS rvnu_othr_l_fee_usd_plan_amt, gen_attr_226 AS rvnu_othr_l_crd_usd_plan_amt, gen_attr_228 AS rvnu_othr_nl_fee_usd_plan_amt, gen_attr_230 AS rvnu_othr_nl_crd_usd_plan_amt, gen_attr_232 AS rvnu_slr_tls_fee_usd_plan_amt, gen_attr_234 AS rvnu_slr_tls_crd_usd_plan_amt, gen_attr_236 AS rvnu_unasgnd_usd_plan_amt, gen_attr_238 AS rvnu_ad_fee_usd_plan_amt, gen_attr_240 AS rvnu_ad_crd_usd_plan_amt, gen_attr_242 AS rvnu_othr_ad_fee_usd_plan_amt, gen_attr_244 AS rvnu_trans_usd_plan_amt, gen_attr_246 AS rvnu_trans_crd_usd_plan_amt, gen_attr_248 AS rvnu_total_usd_plan_amt, gen_attr_250 AS rvnu_total_crd_usd_plan_amt, gen_attr_252 AS rvnu_insrtn_fee_lc_plan_amt, gen_attr_254 AS rvnu_insrtn_crd_lc_plan_amt, gen_attr_256 AS rvnu_fetr_fee_lc_plan_amt, gen_attr_258 AS rvnu_fetr_crd_lc_plan_amt, gen_attr_260 AS rvnu_fv_fee_lc_plan_amt, gen_attr_262 AS rvnu_fv_crd_lc_plan_amt, gen_attr_264 AS rvnu_othr_l_fee_lc_plan_amt, gen_attr_266 AS rvnu_othr_l_crd_lc_plan_amt, gen_attr_268 AS rvnu_othr_nl_fee_lc_plan_amt, gen_attr_270 AS rvnu_othr_nl_crd_lc_plan_amt, gen_attr_272 AS rvnu_slr_tls_fee_lc_plan_amt, gen_attr_274 AS rvnu_slr_tls_crd_lc_plan_amt, gen_attr_276 AS rvnu_unasgnd_lc_plan_amt, gen_attr_278 AS rvnu_ad_fee_lc_plan_amt, gen_attr_280 AS rvnu_ad_crd_lc_plan_amt, gen_attr_282 AS rvnu_othr_ad_fee_lc_plan_amt, gen_attr_284 AS rvnu_trans_lc_plan_amt, gen_attr_286 AS rvnu_trans_crd_lc_plan_amt, gen_attr_288 AS rvnu_total_lc_plan_amt, gen_attr_290 AS rvnu_total_crd_lc_plan_amt, gen_attr_292 AS cre_date, gen_attr_294 AS cre_user, gen_attr_296 AS upd_date, gen_attr_298 AS upd_user FROM (SELECT gen_attr_1 AS gen_attr_0, gen_attr_3 AS gen_attr_2, gen_attr_5 AS gen_attr_4, gen_attr_7 AS gen_attr_6, gen_attr_9 AS gen_attr_8, gen_attr_11 AS gen_attr_10, gen_attr_13 AS gen_attr_12, gen_attr_15 AS gen_attr_14, gen_attr_17 AS gen_attr_16, gen_attr_19 AS gen_attr_18, gen_attr_21 AS gen_attr_20, gen_attr_23 AS gen_attr_22, gen_attr_25 AS gen_attr_24, gen_attr_27 AS gen_attr_26, gen_attr_29 AS gen_attr_28, gen_attr_31 AS gen_attr_30, gen_attr_33 AS gen_attr_32, gen_attr_35 AS gen_attr_34, gen_attr_37 AS gen_attr_36, gen_attr_39 AS gen_attr_38, gen_attr_41 AS gen_attr_40, gen_attr_43 AS gen_attr_42, gen_attr_45 AS gen_attr_44, gen_attr_47 AS gen_attr_46, gen_attr_49 AS gen_attr_48, gen_attr_51 AS gen_attr_50, gen_attr_53 AS gen_attr_52, gen_attr_55 AS gen_attr_54, gen_attr_57 AS gen_attr_56, gen_attr_59 AS gen_attr_58, gen_attr_61 AS gen_attr_60, gen_attr_63 AS gen_attr_62, gen_attr_65 AS gen_attr_64, gen_attr_67 AS gen_attr_66, gen_attr_69 AS gen_attr_68, gen_attr_71 AS gen_attr_70, gen_attr_73 AS gen_attr_72, gen_attr_75 AS gen_attr_74, gen_attr_77 AS gen_attr_76, gen_attr_79 AS gen_attr_78, gen_attr_81 AS gen_attr_80, gen_attr_83 AS gen_attr_82, gen_attr_85 AS gen_attr_84, gen_attr_87 AS gen_attr_86, gen_attr_89 AS gen_attr_88, gen_attr_91 AS gen_attr_90, gen_attr_93 AS gen_attr_92, gen_attr_95 AS gen_attr_94, gen_attr_97 AS gen_attr_96, gen_attr_99 AS gen_attr_98, gen_attr_101 AS gen_attr_100, gen_attr_103 AS gen_attr_102, gen_attr_105 AS gen_attr_104, gen_attr_107 AS gen_attr_106, gen_attr_109 AS gen_attr_108, gen_attr_111 AS gen_attr_110, gen_attr_113 AS gen_attr_112, gen_attr_115 AS gen_attr_114, gen_attr_117 AS gen_attr_116, gen_attr_119 AS gen_attr_118, gen_attr_121 AS gen_attr_120, gen_attr_123 AS gen_attr_122, gen_attr_125 AS gen_attr_124, gen_attr_127 AS gen_attr_126, gen_attr_129 AS gen_attr_128, gen_attr_131 AS gen_attr_130, gen_attr_133 AS gen_attr_132, gen_attr_135 AS gen_attr_134, gen_attr_137 AS gen_attr_136, gen_attr_139 AS gen_attr_138, gen_attr_141 AS gen_attr_140, gen_attr_143 AS gen_attr_142, gen_attr_145 AS gen_attr_144, gen_attr_147 AS gen_attr_146, gen_attr_149 AS gen_attr_148, gen_attr_151 AS gen_attr_150, gen_attr_153 AS gen_attr_152, gen_attr_155 AS gen_attr_154, gen_attr_157 AS gen_attr_156, gen_attr_159 AS gen_attr_158, gen_attr_161 AS gen_attr_160, gen_attr_163 AS gen_attr_162, gen_attr_165 AS gen_attr_164, gen_attr_167 AS gen_attr_166, gen_attr_169 AS gen_attr_168, gen_attr_171 AS gen_attr_170, gen_attr_173 AS gen_attr_172, gen_attr_175 AS gen_attr_174, gen_attr_177 AS gen_attr_176, gen_attr_179 AS gen_attr_178, gen_attr_181 AS gen_attr_180, gen_attr_183 AS gen_attr_182, gen_attr_185 AS gen_attr_184, gen_attr_187 AS gen_attr_186, gen_attr_189 AS gen_attr_188, gen_attr_191 AS gen_attr_190, gen_attr_193 AS gen_attr_192, gen_attr_195 AS gen_attr_194, gen_attr_197 AS gen_attr_196, gen_attr_199 AS gen_attr_198, gen_attr_201 AS gen_attr_200, gen_attr_203 AS gen_attr_202, gen_attr_205 AS gen_attr_204, gen_attr_207 AS gen_attr_206, gen_attr_209 AS gen_attr_208, gen_attr_211 AS gen_attr_210, gen_attr_213 AS gen_attr_212, gen_attr_215 AS gen_attr_214, gen_attr_217 AS gen_attr_216, gen_attr_219 AS gen_attr_218, gen_attr_221 AS gen_attr_220, gen_attr_223 AS gen_attr_222, gen_attr_225 AS gen_attr_224, gen_attr_227 AS gen_attr_226, gen_attr_229 AS gen_attr_228, gen_attr_231 AS gen_attr_230, gen_attr_233 AS gen_attr_232, gen_attr_235 AS gen_attr_234, gen_attr_237 AS gen_attr_236, gen_attr_239 AS gen_attr_238, gen_attr_241 AS gen_attr_240, gen_attr_243 AS gen_attr_242, gen_attr_245 AS gen_attr_244, gen_attr_247 AS gen_attr_246, gen_attr_249 AS gen_attr_248, gen_attr_251 AS gen_attr_250, gen_attr_253 AS gen_attr_252, gen_attr_255 AS gen_attr_254, gen_attr_257 AS gen_attr_256, gen_attr_259 AS gen_attr_258, gen_attr_261 AS gen_attr_260, gen_attr_263 AS gen_attr_262, gen_attr_265 AS gen_attr_264, gen_attr_267 AS gen_attr_266, gen_attr_269 AS gen_attr_268, gen_attr_271 AS gen_attr_270, gen_attr_273 AS gen_attr_272, gen_attr_275 AS gen_attr_274, gen_attr_277 AS gen_attr_276, gen_attr_279 AS gen_attr_278, gen_attr_281 AS gen_attr_280, gen_attr_283 AS gen_attr_282, gen_attr_285 AS gen_attr_284, gen_attr_287 AS gen_attr_286, gen_attr_289 AS gen_attr_288, gen_attr_291 AS gen_attr_290, gen_attr_293 AS gen_attr_292, gen_attr_295 AS gen_attr_294, gen_attr_297 AS gen_attr_296, gen_attr_299 AS gen_attr_298 FROM (SELECT gen_attr_1, gen_attr_3, gen_attr_5, gen_attr_7, gen_attr_9, gen_attr_11, gen_attr_13, gen_attr_15, gen_attr_17, gen_attr_19, gen_attr_21, gen_attr_23, gen_attr_25, gen_attr_27, gen_attr_29, gen_attr_31, gen_attr_33, gen_attr_35, gen_attr_37, gen_attr_39, gen_attr_41, gen_attr_43, gen_attr_45, gen_attr_47, gen_attr_49, gen_attr_51, gen_attr_53, gen_attr_55, gen_attr_57, gen_attr_59, gen_attr_61, gen_attr_63, gen_attr_65, gen_attr_67, gen_attr_69, gen_attr_71, gen_attr_73, gen_attr_75, gen_attr_77, gen_attr_79, gen_attr_81, gen_attr_83, gen_attr_85, gen_attr_87, gen_attr_89, gen_attr_91, gen_attr_93, gen_attr_95, gen_attr_97, gen_attr_99, gen_attr_101, gen_attr_103, gen_attr_105, gen_attr_107, gen_attr_109, gen_attr_111, gen_attr_113, gen_attr_115, gen_attr_117, gen_attr_119, gen_attr_121, gen_attr_123, gen_attr_125, gen_attr_127, gen_attr_129, gen_attr_131, gen_attr_133, gen_attr_135, gen_attr_137, gen_attr_139, gen_attr_141, gen_attr_143, gen_attr_145, gen_attr_147, gen_attr_149, gen_attr_151, gen_attr_153, gen_attr_155, gen_attr_157, gen_attr_159, gen_attr_161, gen_attr_163, gen_attr_165, gen_attr_167, gen_attr_169, gen_attr_171, gen_attr_173, gen_attr_175, gen_attr_177, gen_attr_179, gen_attr_181, (((coalesce(CAST(gen_attr_51 AS DOUBLE), CAST(0 AS DOUBLE)) + coalesce(CAST(gen_attr_67 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_83 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_103 AS DOUBLE), CAST(0 AS DOUBLE))) AS gen_attr_183, (((coalesce(CAST(gen_attr_53 AS DOUBLE), CAST(0 AS DOUBLE)) + coalesce(CAST(gen_attr_69 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_87 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_105 AS DOUBLE), CAST(0 AS DOUBLE))) AS gen_attr_185, (((coalesce(CAST(gen_attr_55 AS DOUBLE), CAST(0 AS DOUBLE)) + coalesce(CAST(gen_attr_71 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_89 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_107 AS DOUBLE), CAST(0 AS DOUBLE))) AS gen_attr_187, (((coalesce(CAST(gen_attr_59 AS DOUBLE), CAST(0 AS DOUBLE)) + coalesce(CAST(gen_attr_75 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_93 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_111 AS DOUBLE), CAST(0 AS DOUBLE))) AS gen_attr_189, (((coalesce(CAST(gen_attr_61 AS DOUBLE), CAST(0 AS DOUBLE)) + coalesce(CAST(gen_attr_77 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_97 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_113 AS DOUBLE), CAST(0 AS DOUBLE))) AS gen_attr_191, (((coalesce(CAST(gen_attr_63 AS DOUBLE), CAST(0 AS DOUBLE)) + coalesce(CAST(gen_attr_79 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_99 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_115 AS DOUBLE), CAST(0 AS DOUBLE))) AS gen_attr_193, ((((((((coalesce(CAST(gen_attr_51 AS DOUBLE), CAST(0 AS DOUBLE)) + coalesce(CAST(gen_attr_67 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_83 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_103 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_119 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_135 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_151 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_159 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_175 AS DOUBLE), CAST(0 AS DOUBLE))) AS gen_attr_195, ((((((((coalesce(CAST(gen_attr_53 AS DOUBLE), CAST(0 AS DOUBLE)) + coalesce(CAST(gen_attr_69 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_87 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_105 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_121 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_137 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_153 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_161 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_177 AS DOUBLE), CAST(0 AS DOUBLE))) AS gen_attr_197, ((((((((coalesce(CAST(gen_attr_55 AS DOUBLE), CAST(0 AS DOUBLE)) + coalesce(CAST(gen_attr_71 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_89 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_107 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_123 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_139 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_155 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_163 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_179 AS DOUBLE), CAST(0 AS DOUBLE))) AS gen_attr_199, ((((((coalesce(CAST(gen_attr_59 AS DOUBLE), CAST(0 AS DOUBLE)) + coalesce(CAST(gen_attr_75 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_93 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_111 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_127 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_143 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_167 AS DOUBLE), CAST(0 AS DOUBLE))) AS gen_attr_201, ((((((coalesce(CAST(gen_attr_61 AS DOUBLE), CAST(0 AS DOUBLE)) + coalesce(CAST(gen_attr_77 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_97 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_113 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_129 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_145 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_169 AS DOUBLE), CAST(0 AS DOUBLE))) AS gen_attr_203, ((((((coalesce(CAST(gen_attr_63 AS DOUBLE), CAST(0 AS DOUBLE)) + coalesce(CAST(gen_attr_79 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_99 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_115 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_131 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_147 AS DOUBLE), CAST(0 AS DOUBLE))) + coalesce(CAST(gen_attr_171 AS DOUBLE), CAST(0 AS DOUBLE))) AS gen_attr_205, CAST((gen_attr_47 * CAST(gen_attr_300 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_207, CAST(((gen_attr_47 * CAST(gen_attr_300 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_209, CAST(((gen_attr_47 * CAST(gen_attr_300 AS DOUBLE)) / CAST(gen_attr_302 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_211, CAST((gen_attr_55 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_213, CAST((gen_attr_63 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_215, CAST((gen_attr_71 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_217, CAST((gen_attr_79 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_219, CAST((gen_attr_89 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_221, CAST((gen_attr_99 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_223, CAST((gen_attr_107 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_225, CAST((gen_attr_115 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_227, CAST((gen_attr_123 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_229, CAST((gen_attr_131 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_231, CAST((gen_attr_139 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_233, CAST((gen_attr_147 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_235, CAST((gen_attr_155 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_237, CAST((gen_attr_163 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_239, CAST((gen_attr_171 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_241, CAST((gen_attr_179 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_243, coalesce(CAST((CAST(CAST((CAST(CAST((CAST(CAST(CAST((gen_attr_55 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_71 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_89 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_107 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)), CAST(0 AS DECIMAL(19,6))) AS gen_attr_245, coalesce(CAST((CAST(CAST((CAST(CAST((CAST(CAST(CAST((gen_attr_63 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_79 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_99 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_115 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)), CAST(0 AS DECIMAL(19,6))) AS gen_attr_247, coalesce(CAST((CAST(CAST((CAST(CAST((CAST(CAST((CAST(CAST((CAST(CAST((CAST(CAST((CAST(CAST((CAST(CAST(CAST((gen_attr_55 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_71 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_89 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_107 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_123 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_139 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_155 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_163 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_179 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)), CAST(0 AS DECIMAL(19,6))) AS gen_attr_249, coalesce(CAST((CAST(CAST((CAST(CAST((CAST(CAST((CAST(CAST((CAST(CAST((CAST(CAST(CAST((gen_attr_63 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_79 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_99 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_115 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_131 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_147 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST((gen_attr_171 * CAST(gen_attr_303 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)), CAST(0 AS DECIMAL(19,6))) AS gen_attr_251, CAST(((gen_attr_55 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_253, CAST(((gen_attr_63 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_255, CAST(((gen_attr_71 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_257, CAST(((gen_attr_79 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_259, CAST(((gen_attr_89 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_261, CAST(((gen_attr_99 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_263, CAST(((gen_attr_107 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_265, CAST(((gen_attr_115 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_267, CAST(((gen_attr_123 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_269, CAST(((gen_attr_131 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_271, CAST(((gen_attr_139 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_273, CAST(((gen_attr_147 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_275, CAST(((gen_attr_155 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_277, CAST(((gen_attr_163 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_279, CAST(((gen_attr_171 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_281, CAST(((gen_attr_179 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS gen_attr_283, coalesce(CAST((CAST(CAST((CAST(CAST((CAST(CAST(CAST(((gen_attr_55 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_71 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_89 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_107 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)), CAST(0 AS DECIMAL(19,6))) AS gen_attr_285, coalesce(CAST((CAST(CAST((CAST(CAST((CAST(CAST(CAST(((gen_attr_63 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_79 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_99 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_115 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)), CAST(0 AS DECIMAL(19,6))) AS gen_attr_287, coalesce(CAST((CAST(CAST((CAST(CAST((CAST(CAST((CAST(CAST((CAST(CAST((CAST(CAST((CAST(CAST((CAST(CAST(CAST(((gen_attr_55 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_71 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_89 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_107 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_123 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_139 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_155 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_163 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_179 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)), CAST(0 AS DECIMAL(19,6))) AS gen_attr_289, coalesce(CAST((CAST(CAST((CAST(CAST((CAST(CAST((CAST(CAST((CAST(CAST((CAST(CAST(CAST(((gen_attr_63 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_79 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_99 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_115 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_131 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_147 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)) AS DECIMAL(20,6)) + CAST(CAST(CAST(((gen_attr_171 * CAST(gen_attr_303 AS DOUBLE)) / CAST(gen_attr_301 AS DOUBLE)) AS DECIMAL(18,6)) AS DECIMAL(19,6)) AS DECIMAL(20,6))) AS DECIMAL(19,6)), CAST(0 AS DECIMAL(19,6))) AS gen_attr_291, gen_attr_304 AS gen_attr_293, gen_attr_305 AS gen_attr_295, gen_attr_306 AS gen_attr_297, gen_attr_307 AS gen_attr_299 FROM (SELECT gen_attr_320 AS gen_attr_3, gen_attr_321 AS gen_attr_5, gen_attr_322 AS gen_attr_7, gen_attr_323 AS gen_attr_9, gen_attr_324 AS gen_attr_11, gen_attr_325 AS gen_attr_13, gen_attr_326 AS gen_attr_15, gen_attr_327 AS gen_attr_17, gen_attr_328 AS gen_attr_19, gen_attr_329 AS gen_attr_21, gen_attr_330 AS gen_attr_23, gen_attr_331 AS gen_attr_25, gen_attr_332 AS gen_attr_27, gen_attr_333 AS gen_attr_29, gen_attr_334 AS gen_attr_31, gen_attr_335 AS gen_attr_39, gen_attr_336 AS gen_attr_33, gen_attr_337 AS gen_attr_35, gen_attr_338 AS gen_attr_37, gen_attr_339 AS gen_attr_41, gen_attr_340 AS gen_attr_45, gen_attr_341 AS gen_attr_43, gen_attr_342 AS gen_attr_47, gen_attr_343 AS gen_attr_49, gen_attr_344 AS gen_attr_51, gen_attr_345 AS gen_attr_53, gen_attr_346 AS gen_attr_55, gen_attr_347 AS gen_attr_57, gen_attr_348 AS gen_attr_59, gen_attr_349 AS gen_attr_61, gen_attr_350 AS gen_attr_63, gen_attr_351 AS gen_attr_65, gen_attr_352 AS gen_attr_67, gen_attr_353 AS gen_attr_69, gen_attr_354 AS gen_attr_71, gen_attr_355 AS gen_attr_73, gen_attr_356 AS gen_attr_75, gen_attr_357 AS gen_attr_77, gen_attr_358 AS gen_attr_79, gen_attr_359 AS gen_attr_81, gen_attr_360 AS gen_attr_83, gen_attr_361 AS gen_attr_87, gen_attr_362 AS gen_attr_85, gen_attr_363 AS gen_attr_89, gen_attr_364 AS gen_attr_91, gen_attr_365 AS gen_attr_93, gen_attr_366 AS gen_attr_95, gen_attr_367 AS gen_attr_97, gen_attr_368 AS gen_attr_99, gen_attr_369 AS gen_attr_101, gen_attr_370 AS gen_attr_103, gen_attr_371 AS gen_attr_105, gen_attr_372 AS gen_attr_107, gen_attr_373 AS gen_attr_109, gen_attr_374 AS gen_attr_111, gen_attr_375 AS gen_attr_113, gen_attr_376 AS gen_attr_115, gen_attr_377 AS gen_attr_117, gen_attr_378 AS gen_attr_119, gen_attr_379 AS gen_attr_121, gen_attr_380 AS gen_attr_123, gen_attr_381 AS gen_attr_125, gen_attr_382 AS gen_attr_127, gen_attr_383 AS gen_attr_129, gen_attr_384 AS gen_attr_131, gen_attr_385 AS gen_attr_133, gen_attr_386 AS gen_attr_135, gen_attr_387 AS gen_attr_137, gen_attr_388 AS gen_attr_139, gen_attr_389 AS gen_attr_141, gen_attr_390 AS gen_attr_143, gen_attr_391 AS gen_attr_145, gen_attr_392 AS gen_attr_147, gen_attr_393 AS gen_attr_149, gen_attr_394 AS gen_attr_151, gen_attr_395 AS gen_attr_153, gen_attr_396 AS gen_attr_155, gen_attr_397 AS gen_attr_157, gen_attr_398 AS gen_attr_159, gen_attr_399 AS gen_attr_161, gen_attr_400 AS gen_attr_163, gen_attr_401 AS gen_attr_165, gen_attr_402 AS gen_attr_167, gen_attr_403 AS gen_attr_169, gen_attr_404 AS gen_attr_171, gen_attr_405 AS gen_attr_173, gen_attr_406 AS gen_attr_175, gen_attr_407 AS gen_attr_177, gen_attr_408 AS gen_attr_179, gen_attr_409 AS gen_attr_181, gen_attr_410 AS gen_attr_304, gen_attr_411 AS gen_attr_305, gen_attr_412 AS gen_attr_306, gen_attr_413 AS gen_attr_307, gen_attr_414 AS gen_attr_1 FROM (SELECT adj_type_id AS gen_attr_320, byr_cntry_id AS gen_attr_321, sap_category_id AS gen_attr_322, lstg_site_id AS gen_attr_323, lstg_type_code AS gen_attr_324, offrd_slng_chnl_grp_id AS gen_attr_325, slr_cntry_id AS gen_attr_326, sold_slng_chnl_grp_id AS gen_attr_327, bin_lstg_yn_id AS gen_attr_328, bin_sold_yn_id AS gen_attr_329, lstg_curncy_id AS gen_attr_330, blng_curncy_id AS gen_attr_331, bid_count AS gen_attr_332, ck_trans_count AS gen_attr_333, ended_bid_count AS gen_attr_334, new_lstg_count AS gen_attr_335, ended_lstg_count AS gen_attr_336, ended_success_lstg_count AS gen_attr_337, item_sold_count AS gen_attr_338, gmv_us_amt AS gen_attr_339, gmv_byr_lc_amt AS gen_attr_340, gmv_slr_lc_amt AS gen_attr_341, gmv_lstg_curncy_amt AS gen_attr_342, gmv_us_m_amt AS gen_attr_343, rvnu_insrtn_fee_us_amt AS gen_attr_344, rvnu_insrtn_fee_lc_amt AS gen_attr_345, rvnu_insrtn_fee_bc_amt AS gen_attr_346, rvnu_insrtn_fee_us_m_amt AS gen_attr_347, rvnu_insrtn_crd_us_amt AS gen_attr_348, rvnu_insrtn_crd_lc_amt AS gen_attr_349, rvnu_insrtn_crd_bc_amt AS gen_attr_350, rvnu_insrtn_crd_us_m_amt AS gen_attr_351, rvnu_fetr_fee_us_amt AS gen_attr_352, rvnu_fetr_fee_lc_amt AS gen_attr_353, rvnu_fetr_fee_bc_amt AS gen_attr_354, rvnu_fetr_fee_us_m_amt AS gen_attr_355, rvnu_fetr_crd_us_amt AS gen_attr_356, rvnu_fetr_crd_lc_amt AS gen_attr_357, rvnu_fetr_crd_bc_amt AS gen_attr_358, rvnu_fetr_crd_us_m_amt AS gen_attr_359, rvnu_fv_fee_us_amt AS gen_attr_360, rvnu_fv_fee_slr_lc_amt AS gen_attr_361, rvnu_fv_fee_byr_lc_amt AS gen_attr_362, rvnu_fv_fee_bc_amt AS gen_attr_363, rvnu_fv_fee_us_m_amt AS gen_attr_364, rvnu_fv_crd_us_amt AS gen_attr_365, rvnu_fv_crd_byr_lc_amt AS gen_attr_366, rvnu_fv_crd_slr_lc_amt AS gen_attr_367, rvnu_fv_crd_bc_amt AS gen_attr_368, rvnu_fv_crd_us_m_amt AS gen_attr_369, rvnu_othr_l_fee_us_amt AS gen_attr_370, rvnu_othr_l_fee_lc_amt AS gen_attr_371, rvnu_othr_l_fee_bc_amt AS gen_attr_372, rvnu_othr_l_fee_us_m_amt AS gen_attr_373, rvnu_othr_l_crd_us_amt AS gen_attr_374, rvnu_othr_l_crd_lc_amt AS gen_attr_375, rvnu_othr_l_crd_bc_amt AS gen_attr_376, rvnu_othr_l_crd_us_m_amt AS gen_attr_377, rvnu_othr_nl_fee_us_amt AS gen_attr_378, rvnu_othr_nl_fee_lc_amt AS gen_attr_379, rvnu_othr_nl_fee_bc_amt AS gen_attr_380, rvnu_othr_nl_fee_us_m_amt AS gen_attr_381, rvnu_othr_nl_crd_us_amt AS gen_attr_382, rvnu_othr_nl_crd_lc_amt AS gen_attr_383, rvnu_othr_nl_crd_bc_amt AS gen_attr_384, rvnu_othr_nl_crd_us_m_amt AS gen_attr_385, rvnu_slr_tools_fee_us_amt AS gen_attr_386, rvnu_slr_tools_fee_lc_amt AS gen_attr_387, rvnu_slr_tools_fee_bc_amt AS gen_attr_388, rvnu_slr_tools_fee_us_m_amt AS gen_attr_389, rvnu_slr_tools_crd_us_amt AS gen_attr_390, rvnu_slr_tools_crd_lc_amt AS gen_attr_391, rvnu_slr_tools_crd_bc_amt AS gen_attr_392, rvnu_slr_tools_crd_us_m_amt AS gen_attr_393, rvnu_unasgnd_us_amt AS gen_attr_394, rvnu_unasgnd_lc_amt AS gen_attr_395, rvnu_unasgnd_bc_amt AS gen_attr_396, rvnu_unasgnd_us_m_amt AS gen_attr_397, rvnu_ad_fee_us_amt AS gen_attr_398, rvnu_ad_fee_lc_amt AS gen_attr_399, rvnu_ad_fee_bc_amt AS gen_attr_400, rvnu_ad_fee_us_m_amt AS gen_attr_401, rvnu_ad_crd_us_amt AS gen_attr_402, rvnu_ad_crd_lc_amt AS gen_attr_403, rvnu_ad_crd_bc_amt AS gen_attr_404, rvnu_ad_crd_us_m_amt AS gen_attr_405, rvnu_othr_ad_fee_us_amt AS gen_attr_406, rvnu_othr_ad_fee_lc_amt AS gen_attr_407, rvnu_othr_ad_fee_bc_amt AS gen_attr_408, rvnu_othr_ad_fee_us_m_amt AS gen_attr_409, cre_date AS gen_attr_410, cre_user AS gen_attr_411, upd_date AS gen_attr_412, upd_user AS gen_attr_413, cmn_mtrc_summ_dt AS gen_attr_414 FROM big_table1) AS gen_subquery_0) AS gen_subquery_0 LEFT OUTER JOIN (SELECT gen_attr_415 AS gen_attr_319, gen_attr_416 AS gen_attr_300, gen_attr_418 AS gen_attr_417, gen_attr_420 AS gen_attr_419, gen_attr_422 AS gen_attr_421, gen_attr_424 AS gen_attr_423 FROM (SELECT CURNCY_ID AS gen_attr_415, CURNCY_PLAN_RATE AS gen_attr_416, CRE_DATE AS gen_attr_418, CRE_USER AS gen_attr_420, UPD_DATE AS gen_attr_422, UPD_USER AS gen_attr_424 FROM small_table1) AS gen_subquery_1) AS gen_subquery_1 ON (CAST(CAST(gen_attr_23 AS DECIMAL(20,0)) AS DECIMAL(20,0)) = CAST(gen_attr_319 AS DECIMAL(20,0))) LEFT OUTER JOIN (SELECT gen_attr_415 AS gen_attr_318, gen_attr_416 AS gen_attr_303, gen_attr_418 AS gen_attr_425, gen_attr_420 AS gen_attr_426, gen_attr_422 AS gen_attr_427, gen_attr_424 AS gen_attr_428 FROM (SELECT CURNCY_ID AS gen_attr_415, CURNCY_PLAN_RATE AS gen_attr_416, CRE_DATE AS gen_attr_418, CRE_USER AS gen_attr_420, UPD_DATE AS gen_attr_422, UPD_USER AS gen_attr_424 FROM small_table1) AS gen_subquery_2) AS gen_subquery_2 ON (CAST(CAST(gen_attr_25 AS DECIMAL(20,0)) AS DECIMAL(20,0)) = CAST(gen_attr_318 AS DECIMAL(20,0))) LEFT OUTER JOIN (SELECT gen_attr_429 AS gen_attr_317, gen_attr_431 AS gen_attr_430, gen_attr_433 AS gen_attr_432, gen_attr_435 AS gen_attr_434, gen_attr_437 AS gen_attr_436, gen_attr_439 AS gen_attr_438, gen_attr_441 AS gen_attr_440, gen_attr_443 AS gen_attr_442, gen_attr_445 AS gen_attr_444, gen_attr_446 AS gen_attr_315, gen_attr_448 AS gen_attr_447, gen_attr_450 AS gen_attr_449, gen_attr_452 AS gen_attr_451, gen_attr_454 AS gen_attr_453, gen_attr_456 AS gen_attr_455, gen_attr_458 AS gen_attr_457, gen_attr_460 AS gen_attr_459 FROM (SELECT gen_attr_461 AS gen_attr_429, gen_attr_462 AS gen_attr_431, gen_attr_463 AS gen_attr_433, gen_attr_464 AS gen_attr_435, gen_attr_465 AS gen_attr_437, gen_attr_466 AS gen_attr_439, gen_attr_467 AS gen_attr_441, gen_attr_468 AS gen_attr_443, gen_attr_469 AS gen_attr_445, gen_attr_470 AS gen_attr_446, gen_attr_471 AS gen_attr_448, gen_attr_472 AS gen_attr_450, gen_attr_473 AS gen_attr_452, gen_attr_474 AS gen_attr_454, gen_attr_475 AS gen_attr_456, gen_attr_476 AS gen_attr_458, gen_attr_477 AS gen_attr_460 FROM (SELECT gen_attr_478 AS gen_attr_461, gen_attr_479 AS gen_attr_462, gen_attr_480 AS gen_attr_463, gen_attr_481 AS gen_attr_464, gen_attr_482 AS gen_attr_465, gen_attr_483 AS gen_attr_466, gen_attr_484 AS gen_attr_467, gen_attr_485 AS gen_attr_468, gen_attr_486 AS gen_attr_469, gen_attr_487 AS gen_attr_470, gen_attr_488 AS gen_attr_471, gen_attr_489 AS gen_attr_472, gen_attr_490 AS gen_attr_473, gen_attr_491 AS gen_attr_474, gen_attr_492 AS gen_attr_475, gen_attr_493 AS gen_attr_476, gen_attr_494 AS gen_attr_477 FROM (SELECT gen_attr_495 AS gen_attr_478, gen_attr_496 AS gen_attr_479, gen_attr_497 AS gen_attr_480, gen_attr_498 AS gen_attr_481, gen_attr_499 AS gen_attr_482, gen_attr_500 AS gen_attr_483, gen_attr_501 AS gen_attr_484, gen_attr_502 AS gen_attr_485, gen_attr_503 AS gen_attr_486, gen_attr_504 AS gen_attr_487, gen_attr_505 AS gen_attr_488, gen_attr_506 AS gen_attr_489, gen_attr_507 AS gen_attr_490, gen_attr_508 AS gen_attr_491, gen_attr_509 AS gen_attr_492, gen_attr_510 AS gen_attr_493, gen_attr_511 AS gen_attr_494 FROM (SELECT cntry_id AS gen_attr_495, curncy_id AS gen_attr_496, cntry_desc AS gen_attr_497, cntry_code AS gen_attr_498, iso_cntry_code AS gen_attr_499, cultural AS gen_attr_500, cntry_busn_unit AS gen_attr_501, high_vol_cntry_yn_id AS gen_attr_502, check_sil AS gen_attr_503, rev_rollup_id AS gen_attr_504, rev_rollup AS gen_attr_505, prft_cntr_id AS gen_attr_506, prft_cntr AS gen_attr_507, cre_date AS gen_attr_508, upd_date AS gen_attr_509, cre_user AS gen_attr_510, upd_user AS gen_attr_511 FROM small_table2) AS gen_subquery_3) AS gen_subquery_0) AS gen_subquery_1) AS small_table2) AS gen_subquery_3 ON (CAST(CAST(gen_attr_15 AS DECIMAL(20,0)) AS DECIMAL(20,0)) = CAST(gen_attr_317 AS DECIMAL(20,0))) LEFT OUTER JOIN (SELECT gen_attr_512 AS gen_attr_316, gen_attr_514 AS gen_attr_513, gen_attr_516 AS gen_attr_515, gen_attr_517 AS gen_attr_313, gen_attr_519 AS gen_attr_518, gen_attr_521 AS gen_attr_520, gen_attr_523 AS gen_attr_522, gen_attr_525 AS gen_attr_524, gen_attr_527 AS gen_attr_526, gen_attr_529 AS gen_attr_528, gen_attr_531 AS gen_attr_530, gen_attr_533 AS gen_attr_532, gen_attr_535 AS gen_attr_534, gen_attr_537 AS gen_attr_536, gen_attr_539 AS gen_attr_538, gen_attr_541 AS gen_attr_540, gen_attr_543 AS gen_attr_542, gen_attr_545 AS gen_attr_544, gen_attr_547 AS gen_attr_546, gen_attr_549 AS gen_attr_548, gen_attr_551 AS gen_attr_550, gen_attr_553 AS gen_attr_552, gen_attr_555 AS gen_attr_554 FROM (SELECT gen_attr_556 AS gen_attr_512, gen_attr_557 AS gen_attr_514, gen_attr_558 AS gen_attr_516, gen_attr_559 AS gen_attr_517, gen_attr_560 AS gen_attr_519, gen_attr_561 AS gen_attr_521, gen_attr_562 AS gen_attr_523, gen_attr_563 AS gen_attr_525, gen_attr_564 AS gen_attr_527, gen_attr_565 AS gen_attr_529, gen_attr_566 AS gen_attr_531, gen_attr_567 AS gen_attr_533, gen_attr_568 AS gen_attr_535, gen_attr_569 AS gen_attr_537, gen_attr_570 AS gen_attr_539, gen_attr_571 AS gen_attr_541, gen_attr_572 AS gen_attr_543, gen_attr_573 AS gen_attr_545, gen_attr_574 AS gen_attr_547, gen_attr_575 AS gen_attr_549, gen_attr_576 AS gen_attr_551, gen_attr_577 AS gen_attr_553, gen_attr_578 AS gen_attr_555 FROM (SELECT gen_attr_579 AS gen_attr_556, gen_attr_580 AS gen_attr_557, gen_attr_581 AS gen_attr_558, gen_attr_582 AS gen_attr_559, gen_attr_583 AS gen_attr_560, gen_attr_584 AS gen_attr_561, gen_attr_585 AS gen_attr_562, gen_attr_586 AS gen_attr_563, gen_attr_587 AS gen_attr_564, gen_attr_588 AS gen_attr_565, gen_attr_589 AS gen_attr_566, gen_attr_590 AS gen_attr_567, gen_attr_591 AS gen_attr_568, gen_attr_592 AS gen_attr_569, gen_attr_593 AS gen_attr_570, gen_attr_594 AS gen_attr_571, gen_attr_595 AS gen_attr_572, gen_attr_596 AS gen_attr_573, gen_attr_597 AS gen_attr_574, gen_attr_598 AS gen_attr_575, gen_attr_599 AS gen_attr_576, gen_attr_600 AS gen_attr_577, gen_attr_601 AS gen_attr_578 FROM (SELECT gen_attr_602 AS gen_attr_579, gen_attr_603 AS gen_attr_580, gen_attr_604 AS gen_attr_581, gen_attr_605 AS gen_attr_582, gen_attr_606 AS gen_attr_583, gen_attr_607 AS gen_attr_584, gen_attr_608 AS gen_attr_585, gen_attr_609 AS gen_attr_586, gen_attr_610 AS gen_attr_587, gen_attr_611 AS gen_attr_588, gen_attr_612 AS gen_attr_589, gen_attr_613 AS gen_attr_590, gen_attr_614 AS gen_attr_591, gen_attr_615 AS gen_attr_592, gen_attr_616 AS gen_attr_593, gen_attr_617 AS gen_attr_594, gen_attr_618 AS gen_attr_595, gen_attr_619 AS gen_attr_596, gen_attr_620 AS gen_attr_597, gen_attr_621 AS gen_attr_598, gen_attr_622 AS gen_attr_599, gen_attr_623 AS gen_attr_600, gen_attr_624 AS gen_attr_601 FROM (SELECT rev_rollup_id AS gen_attr_602, rev_rollup AS gen_attr_603, rev_rollup_name AS gen_attr_604, curncy_id AS gen_attr_605, holding_company AS gen_attr_606, company_code AS gen_attr_607, business_unit AS gen_attr_608, dept_code AS gen_attr_609, online AS gen_attr_610, premier AS gen_attr_611, partner AS gen_attr_612, real_estate AS gen_attr_613, legal_entity_id AS gen_attr_614, src_rev_rollup_id AS gen_attr_615, prft_cntr AS gen_attr_616, mngrl_cntry_id AS gen_attr_617, cre_date AS gen_attr_618, upd_date AS gen_attr_619, cre_user AS gen_attr_620, upd_user AS gen_attr_621, pb_min_succ_bid_count AS gen_attr_622, pb_enbld_yn_id AS gen_attr_623, sap_prft_cntr_id AS gen_attr_624 FROM small_table3) AS gen_subquery_4) AS gen_subquery_0) AS gen_subquery_1) AS small_table3) AS gen_subquery_4 ON (CAST(gen_attr_315 AS INT) = CAST(gen_attr_316 AS INT)) LEFT OUTER JOIN (SELECT gen_attr_415 AS gen_attr_314, gen_attr_416 AS gen_attr_301, gen_attr_418 AS gen_attr_625, gen_attr_420 AS gen_attr_626, gen_attr_422 AS gen_attr_627, gen_attr_424 AS gen_attr_628 FROM (SELECT CURNCY_ID AS gen_attr_415, CURNCY_PLAN_RATE AS gen_attr_416, CRE_DATE AS gen_attr_418, CRE_USER AS gen_attr_420, UPD_DATE AS gen_attr_422, UPD_USER AS gen_attr_424 FROM small_table1) AS gen_subquery_5) AS gen_subquery_5 ON (CAST(CAST(gen_attr_313 AS DECIMAL(20,0)) AS DECIMAL(20,0)) = CAST(gen_attr_314 AS DECIMAL(20,0))) LEFT OUTER JOIN (SELECT gen_attr_629 AS gen_attr_312, gen_attr_631 AS gen_attr_630, gen_attr_633 AS gen_attr_632, gen_attr_635 AS gen_attr_634, gen_attr_637 AS gen_attr_636, gen_attr_639 AS gen_attr_638, gen_attr_641 AS gen_attr_640, gen_attr_643 AS gen_attr_642, gen_attr_645 AS gen_attr_644, gen_attr_646 AS gen_attr_310, gen_attr_648 AS gen_attr_647, gen_attr_650 AS gen_attr_649, gen_attr_652 AS gen_attr_651, gen_attr_654 AS gen_attr_653, gen_attr_656 AS gen_attr_655, gen_attr_658 AS gen_attr_657, gen_attr_660 AS gen_attr_659 FROM (SELECT gen_attr_661 AS gen_attr_629, gen_attr_662 AS gen_attr_631, gen_attr_663 AS gen_attr_633, gen_attr_664 AS gen_attr_635, gen_attr_665 AS gen_attr_637, gen_attr_666 AS gen_attr_639, gen_attr_667 AS gen_attr_641, gen_attr_668 AS gen_attr_643, gen_attr_669 AS gen_attr_645, gen_attr_670 AS gen_attr_646, gen_attr_671 AS gen_attr_648, gen_attr_672 AS gen_attr_650, gen_attr_673 AS gen_attr_652, gen_attr_674 AS gen_attr_654, gen_attr_675 AS gen_attr_656, gen_attr_676 AS gen_attr_658, gen_attr_677 AS gen_attr_660 FROM (SELECT gen_attr_678 AS gen_attr_661, gen_attr_679 AS gen_attr_662, gen_attr_680 AS gen_attr_663, gen_attr_681 AS gen_attr_664, gen_attr_682 AS gen_attr_665, gen_attr_683 AS gen_attr_666, gen_attr_684 AS gen_attr_667, gen_attr_685 AS gen_attr_668, gen_attr_686 AS gen_attr_669, gen_attr_687 AS gen_attr_670, gen_attr_688 AS gen_attr_671, gen_attr_689 AS gen_attr_672, gen_attr_690 AS gen_attr_673, gen_attr_691 AS gen_attr_674, gen_attr_692 AS gen_attr_675, gen_attr_693 AS gen_attr_676, gen_attr_694 AS gen_attr_677 FROM (SELECT gen_attr_495 AS gen_attr_678, gen_attr_496 AS gen_attr_679, gen_attr_497 AS gen_attr_680, gen_attr_498 AS gen_attr_681, gen_attr_499 AS gen_attr_682, gen_attr_500 AS gen_attr_683, gen_attr_501 AS gen_attr_684, gen_attr_502 AS gen_attr_685, gen_attr_503 AS gen_attr_686, gen_attr_504 AS gen_attr_687, gen_attr_505 AS gen_attr_688, gen_attr_506 AS gen_attr_689, gen_attr_507 AS gen_attr_690, gen_attr_508 AS gen_attr_691, gen_attr_509 AS gen_attr_692, gen_attr_510 AS gen_attr_693, gen_attr_511 AS gen_attr_694 FROM (SELECT cntry_id AS gen_attr_495, curncy_id AS gen_attr_496, cntry_desc AS gen_attr_497, cntry_code AS gen_attr_498, iso_cntry_code AS gen_attr_499, cultural AS gen_attr_500, cntry_busn_unit AS gen_attr_501, high_vol_cntry_yn_id AS gen_attr_502, check_sil AS gen_attr_503, rev_rollup_id AS gen_attr_504, rev_rollup AS gen_attr_505, prft_cntr_id AS gen_attr_506, prft_cntr AS gen_attr_507, cre_date AS gen_attr_508, upd_date AS gen_attr_509, cre_user AS gen_attr_510, upd_user AS gen_attr_511 FROM small_table2) AS gen_subquery_6) AS gen_subquery_0) AS gen_subquery_1) AS small_table2) AS gen_subquery_6 ON (CAST(CAST(gen_attr_5 AS DECIMAL(20,0)) AS DECIMAL(20,0)) = CAST(gen_attr_312 AS DECIMAL(20,0))) LEFT OUTER JOIN (SELECT gen_attr_695 AS gen_attr_311, gen_attr_697 AS gen_attr_696, gen_attr_699 AS gen_attr_698, gen_attr_700 AS gen_attr_308, gen_attr_702 AS gen_attr_701, gen_attr_704 AS gen_attr_703, gen_attr_706 AS gen_attr_705, gen_attr_708 AS gen_attr_707, gen_attr_710 AS gen_attr_709, gen_attr_712 AS gen_attr_711, gen_attr_714 AS gen_attr_713, gen_attr_716 AS gen_attr_715, gen_attr_718 AS gen_attr_717, gen_attr_720 AS gen_attr_719, gen_attr_722 AS gen_attr_721, gen_attr_724 AS gen_attr_723, gen_attr_726 AS gen_attr_725, gen_attr_728 AS gen_attr_727, gen_attr_730 AS gen_attr_729, gen_attr_732 AS gen_attr_731, gen_attr_734 AS gen_attr_733, gen_attr_736 AS gen_attr_735, gen_attr_738 AS gen_attr_737 FROM (SELECT gen_attr_739 AS gen_attr_695, gen_attr_740 AS gen_attr_697, gen_attr_741 AS gen_attr_699, gen_attr_742 AS gen_attr_700, gen_attr_743 AS gen_attr_702, gen_attr_744 AS gen_attr_704, gen_attr_745 AS gen_attr_706, gen_attr_746 AS gen_attr_708, gen_attr_747 AS gen_attr_710, gen_attr_748 AS gen_attr_712, gen_attr_749 AS gen_attr_714, gen_attr_750 AS gen_attr_716, gen_attr_751 AS gen_attr_718, gen_attr_752 AS gen_attr_720, gen_attr_753 AS gen_attr_722, gen_attr_754 AS gen_attr_724, gen_attr_755 AS gen_attr_726, gen_attr_756 AS gen_attr_728, gen_attr_757 AS gen_attr_730, gen_attr_758 AS gen_attr_732, gen_attr_759 AS gen_attr_734, gen_attr_760 AS gen_attr_736, gen_attr_761 AS gen_attr_738 FROM (SELECT gen_attr_762 AS gen_attr_739, gen_attr_763 AS gen_attr_740, gen_attr_764 AS gen_attr_741, gen_attr_765 AS gen_attr_742, gen_attr_766 AS gen_attr_743, gen_attr_767 AS gen_attr_744, gen_attr_768 AS gen_attr_745, gen_attr_769 AS gen_attr_746, gen_attr_770 AS gen_attr_747, gen_attr_771 AS gen_attr_748, gen_attr_772 AS gen_attr_749, gen_attr_773 AS gen_attr_750, gen_attr_774 AS gen_attr_751, gen_attr_775 AS gen_attr_752, gen_attr_776 AS gen_attr_753, gen_attr_777 AS gen_attr_754, gen_attr_778 AS gen_attr_755, gen_attr_779 AS gen_attr_756, gen_attr_780 AS gen_attr_757, gen_attr_781 AS gen_attr_758, gen_attr_782 AS gen_attr_759, gen_attr_783 AS gen_attr_760, gen_attr_784 AS gen_attr_761 FROM (SELECT gen_attr_602 AS gen_attr_762, gen_attr_603 AS gen_attr_763, gen_attr_604 AS gen_attr_764, gen_attr_605 AS gen_attr_765, gen_attr_606 AS gen_attr_766, gen_attr_607 AS gen_attr_767, gen_attr_608 AS gen_attr_768, gen_attr_609 AS gen_attr_769, gen_attr_610 AS gen_attr_770, gen_attr_611 AS gen_attr_771, gen_attr_612 AS gen_attr_772, gen_attr_613 AS gen_attr_773, gen_attr_614 AS gen_attr_774, gen_attr_615 AS gen_attr_775, gen_attr_616 AS gen_attr_776, gen_attr_617 AS gen_attr_777, gen_attr_618 AS gen_attr_778, gen_attr_619 AS gen_attr_779, gen_attr_620 AS gen_attr_780, gen_attr_621 AS gen_attr_781, gen_attr_622 AS gen_attr_782, gen_attr_623 AS gen_attr_783, gen_attr_624 AS gen_attr_784 FROM (SELECT rev_rollup_id AS gen_attr_602, rev_rollup AS gen_attr_603, rev_rollup_name AS gen_attr_604, curncy_id AS gen_attr_605, holding_company AS gen_attr_606, company_code AS gen_attr_607, business_unit AS gen_attr_608, dept_code AS gen_attr_609, online AS gen_attr_610, premier AS gen_attr_611, partner AS gen_attr_612, real_estate AS gen_attr_613, legal_entity_id AS gen_attr_614, src_rev_rollup_id AS gen_attr_615, prft_cntr AS gen_attr_616, mngrl_cntry_id AS gen_attr_617, cre_date AS gen_attr_618, upd_date AS gen_attr_619, cre_user AS gen_attr_620, upd_user AS gen_attr_621, pb_min_succ_bid_count AS gen_attr_622, pb_enbld_yn_id AS gen_attr_623, sap_prft_cntr_id AS gen_attr_624 FROM small_table3) AS gen_subquery_7) AS gen_subquery_0) AS gen_subquery_1) AS small_table3) AS gen_subquery_7 ON (CAST(gen_attr_310 AS INT) = CAST(gen_attr_311 AS INT)) LEFT OUTER JOIN (SELECT gen_attr_415 AS gen_attr_309, gen_attr_416 AS gen_attr_302, gen_attr_418 AS gen_attr_785, gen_attr_420 AS gen_attr_786, gen_attr_422 AS gen_attr_787, gen_attr_424 AS gen_attr_788 FROM (SELECT CURNCY_ID AS gen_attr_415, CURNCY_PLAN_RATE AS gen_attr_416, CRE_DATE AS gen_attr_418, CRE_USER AS gen_attr_420, UPD_DATE AS gen_attr_422, UPD_USER AS gen_attr_424 FROM small_table1) AS gen_subquery_8) AS gen_subquery_8 ON (CAST(CAST(gen_attr_308 AS DECIMAL(20,0)) AS DECIMAL(20,0)) = CAST(gen_attr_309 AS DECIMAL(20,0)))) AS SD) AS gen_subquery_9
>     |
>     |""".stripMargin)
> org.apache.spark.sql.catalyst.rules.RuleExecutor.resetMetrics()
> spark.sql(
>   """
>     |SELECT
>     |        g2.cmn_mtrc_summ_dt,
>     |        sc.rev_rollup AS seller_rev_rollup,
>     |        CASE WHEN bc.rev_rollup = sc.rev_rollup THEN 0 ELSE 1 END AS export_flag,
>     |        CASE WHEN g2.sap_category_id IN (5,7,23,41) THEN 0 ELSE 1 END AS core_cat,
>     |        SUM(COALESCE(g2.bid_count,0)) AS bids,
>     |        SUM(COALESCE(g2.ck_trans_count,0)) AS ck_txns,
>     |        SUM(COALESCE(g2.ended_bid_count,0)) AS ended_bids,
>     |        SUM(COALESCE(g2.ended_lstg_count,0)) AS ended_listings,
>     |        SUM(COALESCE(g2.ended_success_lstg_count,0)) AS ended_succ_listings,
>     |        SUM(COALESCE(g2.item_sold_count,0)) AS items_sold,
>     |        SUM(COALESCE(g2.new_lstg_count,0)) AS new_listings,
>     |        SUM(COALESCE(g2.gmv_us_amt,0)) AS gmv_usd,
>     |        SUM(COALESCE(g2.gmv_slr_lc_amt,0)) AS gmv_slr_rr_curncy,
>     |        SUM(COALESCE(g2.rvnu_insrtn_fee_us_amt,0) + COALESCE(g2.rvnu_insrtn_crd_us_amt,0)) AS insertion_rev_usd,
>     |        SUM(COALESCE(g2.rvnu_fetr_fee_us_amt,0) + COALESCE(g2.rvnu_fetr_crd_us_amt,0)) AS feature_rev_usd,
>     |        SUM(COALESCE(g2.rvnu_fv_fee_us_amt,0) + COALESCE(g2.rvnu_fv_crd_us_amt,0)) AS fvf_rev_usd,
>     |        SUM(COALESCE(g2.rvnu_othr_l_fee_us_amt,0) + COALESCE(g2.rvnu_othr_l_crd_us_amt,0)) AS other_listing_rev_usd,
>     |        SUM(COALESCE(g2.rvnu_othr_nl_fee_us_amt,0) + COALESCE(g2.rvnu_othr_nl_crd_us_amt,0)) AS other_nonlisting_rev_usd,
>     |        SUM(COALESCE(g2.rvnu_slr_tools_fee_us_amt,0) + COALESCE(g2.rvnu_slr_tools_crd_us_amt,0)) AS selling_tools_rev_usd,
>     |        SUM(COALESCE(g2.rvnu_unasgnd_us_amt,0)) AS unassigned_rev_usd,
>     |        SUM(COALESCE(g2.rvnu_transaction_us_amt,0) + COALESCE(g2.rvnu_transaction_crd_us_amt,0)) AS transaction_rev_usd,
>     |        SUM(COALESCE(g2.rvnu_total_us_amt,0) + COALESCE(g2.rvnu_total_crd_us_amt,0)) AS total_rev_usd
>     |FROM
>     |        big_view1 g2
>     |        LEFT JOIN small_table2 sc ON (g2.slr_cntry_id = sc.cntry_id)
>     |        LEFT JOIN small_table2 bc ON (g2.byr_cntry_id = bc.cntry_id)
>     |WHERE
>     |        g2.cmn_mtrc_summ_dt BETWEEN '2019-07-01' AND '2019-07-01'
>     |GROUP BY
>     |        1,2,3,4
>     |""".stripMargin).show
> println(org.apache.spark.sql.catalyst.rules.RuleExecutor.dumpTimeSpent())
> {code}
> Output:
> {noformat}
> === Metrics of Analyzer/Optimizer Rules ===
> Total number of runs: 9323
> Total time: 15.995000924 seconds
> Rule                                                                                               Effective Time / Total Time                     Effective Runs / Total Runs
> org.apache.spark.sql.catalyst.optimizer.EliminateOuterJoin                                         0 / 13359017999                                 0 / 4
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations                                   990683801 / 991674120                           2 / 18
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveTables                                      0 / 443718064                                   0 / 18
> org.apache.spark.sql.catalyst.analysis.DecimalPrecision                                            43087519 / 81709524                             2 / 18
> org.apache.spark.sql.execution.datasources.PruneFileSourcePartitions                               63414650 / 63414650                             1 / 1
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveReferences                                  42587256 / 62760566                             5 / 18
> org.apache.spark.sql.catalyst.analysis.TypeCoercion$PromoteStrings                                 26546954 / 54948855                             1 / 18
> org.apache.spark.sql.catalyst.analysis.TypeCoercion$ImplicitTypeCasts                              0 / 52612889                                    0 / 18
> org.apache.spark.sql.catalyst.analysis.TypeCoercion$FunctionArgumentConversion                     20887401 / 46668109                             1 / 18
> org.apache.spark.sql.catalyst.analysis.TypeCoercion$InConversion                                   20099523 / 45756083                             1 / 18
> org.apache.spark.sql.catalyst.analysis.Analyzer$ExtractGenerator                                   0 / 42976703                                    0 / 18
> org.apache.spark.sql.catalyst.optimizer.ColumnPruning                                              15084536 / 36818416                             1 / 6
> org.apache.spark.sql.catalyst.analysis.TypeCoercion$DateTimeOperations                             0 / 33309577                                    0 / 18
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveFunctions                                   11905390 / 32971236                             4 / 18
> org.apache.spark.sql.catalyst.analysis.ResolveTimeZone                                             16535912 / 27932164                             6 / 18
> org.apache.spark.sql.catalyst.analysis.TypeCoercion$ConcatCoercion                                 0 / 26420036                                    0 / 18
> org.apache.spark.sql.catalyst.analysis.TypeCoercion$BooleanEquality                                0 / 25841886                                    0 / 18
> org.apache.spark.sql.catalyst.analysis.TypeCoercion$IfCoercion                                     0 / 25687455                                    0 / 18
> org.apache.spark.sql.catalyst.analysis.TypeCoercion$EltCoercion                                    0 / 25559320                                    0 / 18
> org.apache.spark.sql.catalyst.analysis.TypeCoercion$Division                                       0 / 24886472                                    0 / 18
> org.apache.spark.sql.catalyst.analysis.ResolveCreateNamedStruct                                    0 / 18949729                                    0 / 18
> org.apache.spark.sql.catalyst.analysis.ResolveHigherOrderFunctions                                 0 / 16733605                                    0 / 18
> org.apache.spark.sql.catalyst.analysis.TypeCoercion$StackCoercion                                  0 / 16520376                                    0 / 18
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveWindowFrame                                 0 / 16470110                                    0 / 18
> org.apache.spark.sql.catalyst.analysis.TypeCoercion$MapZipWithCoercion                             0 / 16436402                                    0 / 18
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveWindowOrder                                 0 / 16329196                                    0 / 18
> org.apache.spark.sql.catalyst.analysis.TypeCoercion$CaseWhenCoercion                               0 / 16235319                                    0 / 18
> org.apache.spark.sql.catalyst.analysis.TypeCoercion$WindowFrameCoercion                            0 / 16207413                                    0 / 18
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveSubquery                                    0 / 15379943                                    0 / 18
> org.apache.spark.sql.catalyst.analysis.TimeWindowing                                               0 / 14452790                                    0 / 18
> org.apache.spark.sql.catalyst.analysis.UpdateAttributeNullability                                  0 / 13847427                                    0 / 5
> org.apache.spark.sql.catalyst.analysis.Analyzer$GlobalAggregates                                   0 / 13089252                                    0 / 18
> org.apache.spark.sql.catalyst.optimizer.InferFiltersFromConstraints                                11469490 / 11469490                             1 / 1
> org.apache.spark.sql.catalyst.expressions.codegen.package$ExpressionCanonicalizer$CleanExpressions 0 / 11221252                                    0 / 8018
> org.apache.spark.sql.catalyst.optimizer.CollapseRepartition                                        0 / 10240228                                    0 / 4
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRandomSeed                                  0 / 10075531                                    0 / 18
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveAliases                                     128899 / 8904544                                1 / 18
> org.apache.spark.sql.catalyst.optimizer.RemoveRedundantAliases                                     0 / 8494276                                     0 / 4
> org.apache.spark.sql.catalyst.analysis.EliminateView                                               8394504 / 8394504                               1 / 1
> org.apache.spark.sql.catalyst.optimizer.PushDownPredicates                                         4770294 / 7301903                               2 / 5
> org.apache.spark.sql.catalyst.optimizer.BooleanSimplification                                      0 / 6441777                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.ConstantFolding                                            3253072 / 6275687                               1 / 4
> org.apache.spark.sql.catalyst.optimizer.CollapseProject                                            4135923 / 6127908                               1 / 5
> org.apache.spark.sql.catalyst.analysis.Analyzer$ExtractWindowExpressions                           0 / 5752516                                     0 / 18
> org.apache.spark.sql.catalyst.analysis.ResolveLambdaVariables                                      0 / 5707745                                     0 / 18
> org.apache.spark.sql.catalyst.optimizer.NullPropagation                                            0 / 5655963                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.ReorderAssociativeOperator                                 0 / 5161753                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.SimplifyConditionals                                       0 / 5046005                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.SimplifyCasts                                              1713957 / 4959559                               1 / 4
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveMissingReferences                           0 / 4822642                                     0 / 18
> org.apache.spark.sql.catalyst.analysis.CleanupAliases                                              2508417 / 4724634                               3 / 8
> org.apache.spark.sql.catalyst.optimizer.SimplifyCaseConversionExpressions                          0 / 4718294                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.SimplifyBinaryComparison                                   0 / 4646143                                     0 / 4
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveDeserializer                                701650 / 4591591                                1 / 18
> org.apache.spark.sql.catalyst.analysis.Analyzer$HandleNullInputsForUDF                             0 / 4341776                                     0 / 5
> org.apache.spark.sql.catalyst.optimizer.OptimizeIn                                                 0 / 4150714                                     0 / 4
> org.apache.spark.sql.catalyst.analysis.Analyzer$LookupFunctions                                    0 / 4077605                                     0 / 5
> org.apache.spark.sql.catalyst.optimizer.ReplaceNullWithFalseInPredicate                            0 / 4002986                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.LikeSimplification                                         0 / 3913425                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.SimplifyExtractValueOps                                    0 / 3902122                                     0 / 4
> org.apache.spark.sql.dynamicpruning.PartitionPruning                                               0 / 3901549                                     0 / 1
> org.apache.spark.sql.catalyst.optimizer.RemoveNoopOperators                                        0 / 3871414                                     0 / 6
> org.apache.spark.sql.catalyst.optimizer.RemoveDispensableExpressions                               0 / 3662691                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.RewriteCorrelatedScalarSubquery                            0 / 3370097                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.ReplaceExpressions                                         0 / 3290142                                     0 / 1
> org.apache.spark.sql.catalyst.analysis.Analyzer$PullOutNondeterministic                            0 / 3209871                                     0 / 5
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveUpCast                                      0 / 3162209                                     0 / 18
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveNewInstance                                 0 / 3154737                                     0 / 18
> org.apache.spark.sql.catalyst.optimizer.Optimizer$OptimizeSubqueries                               0 / 3034814                                     0 / 2
> org.apache.spark.sql.catalyst.optimizer.PruneFilters                                               0 / 2955959                                     0 / 5
> org.apache.spark.sql.catalyst.optimizer.EliminateResolvedHint                                      0 / 2812281                                     0 / 1
> org.apache.spark.sql.catalyst.optimizer.ComputeCurrentTime                                         0 / 2566986                                     0 / 1
> org.apache.spark.sql.catalyst.optimizer.CombineUnions                                              0 / 2542898                                     0 / 5
> org.apache.spark.sql.catalyst.optimizer.PushDownLeftSemiAntiJoin                                   0 / 2448505                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.GetCurrentDatabase                                         0 / 2361275                                     0 / 1
> org.apache.spark.sql.catalyst.optimizer.CollapseWindow                                             0 / 2313539                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.ReorderJoin                                                0 / 2280673                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.EliminateSorts                                             0 / 2248100                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.LimitPushDown                                              0 / 2189667                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.PushLeftSemiLeftAntiThroughJoin                            0 / 2151396                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.TransposeWindow                                            0 / 2132878                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.PushProjectionThroughUnion                                 0 / 2117110                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.PullupCorrelatedPredicates                                 0 / 2073671                                     0 / 1
> org.apache.spark.sql.catalyst.optimizer.CombineLimits                                              0 / 2048991                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.ConstantPropagation                                        0 / 2004458                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.EliminateSerialization                                     0 / 1996266                                     0 / 4
> org.apache.spark.sql.catalyst.optimizer.CombineFilters                                             0 / 1916879                                     0 / 4
> org.apache.spark.sql.execution.datasources.FindDataSourceTable                                     846856 / 1747597                                2 / 18
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveGroupingAnalytics                           0 / 1706629                                     0 / 18
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveOrdinalInOrderByAndGroupBy                  192699 / 1689512                                1 / 18
> org.apache.spark.sql.execution.python.ExtractPythonUDFs                                            0 / 1658301                                     0 / 1
> org.apache.spark.sql.catalyst.analysis.EliminateSubqueryAliases                                    1534604 / 1534604                               1 / 1
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveGenerate                                    0 / 1461968                                     0 / 18
> org.apache.spark.sql.catalyst.analysis.ResolveSessionCatalog                                       0 / 1363538                                     0 / 18
> org.apache.spark.sql.catalyst.optimizer.PropagateEmptyRelation                                     0 / 1351841                                     0 / 2
> org.apache.spark.sql.catalyst.analysis.ResolveInlineTables                                         0 / 1324081                                     0 / 18
> org.apache.spark.sql.catalyst.optimizer.NormalizeFloatingNumbers                                   0 / 1318024                                     0 / 1
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveAggAliasInGroupBy                           0 / 1311391                                     0 / 18
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveSubqueryColumnAliases                       0 / 1301574                                     0 / 18
> org.apache.spark.sql.catalyst.analysis.ResolveCatalogs                                             0 / 1300663                                     0 / 18
> org.apache.spark.sql.catalyst.analysis.TypeCoercion$WidenSetOperationTypes                         0 / 1275834                                     0 / 18
> org.apache.spark.sql.hive.ResolveHiveSerdeTable                                                    0 / 1253586                                     0 / 18
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveNaturalAndUsingJoin                         0 / 1245763                                     0 / 18
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveAggregateFunctions                          0 / 1234976                                     0 / 18
> org.apache.spark.sql.dynamicpruning.CleanupDynamicPruningFilters                                   0 / 1223984                                     0 / 1
> org.apache.spark.sql.execution.datasources.ResolveSQLOnFile                                        0 / 1181330                                     0 / 18
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolvePivot                                       0 / 1138521                                     0 / 18
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveOutputRelation                              0 / 1110736                                     0 / 18
> org.apache.spark.sql.catalyst.optimizer.ConvertToLocalRelation                                     0 / 1077572                                     0 / 2
> org.apache.spark.sql.execution.datasources.FallBackFileSourceV2                                    0 / 1058554                                     0 / 18
> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveInsertInto                                  0 / 1055468                                     0 / 18
> org.apache.spark.sql.catalyst.analysis.ResolveTableValuedFunctions                                 0 / 1044204                                     0 / 18
> org.apache.spark.sql.catalyst.optimizer.DecimalAggregates                                          0 / 1030663                                     0 / 1
> org.apache.spark.sql.catalyst.optimizer.ReassignLambdaVariableID                                   0 / 924983                                      0 / 1
> org.apache.spark.sql.catalyst.optimizer.EliminateMapObjects                                        0 / 915445                                      0 / 1
> org.apache.spark.sql.execution.analysis.DetectAmbiguousSelfJoin                                    0 / 825351                                      0 / 5
> org.apache.spark.sql.execution.python.ExtractPythonUDFFromAggregate                                0 / 811663                                      0 / 1
> org.apache.spark.sql.catalyst.optimizer.RewriteDistinctAggregates                                  0 / 775816                                      0 / 1
> org.apache.spark.sql.catalyst.optimizer.FoldablePropagation                                        0 / 758397                                      0 / 4
> org.apache.spark.sql.catalyst.optimizer.RewritePredicateSubquery                                   742085 / 742085                                 1 / 1
> org.apache.spark.sql.execution.python.ExtractGroupingPythonUDFFromAggregate                        0 / 690490                                      0 / 1
> org.apache.spark.sql.catalyst.optimizer.RemoveRepetitionFromGroupExpressions                       0 / 655840                                      0 / 1
> org.apache.spark.sql.catalyst.optimizer.PushPredicateThroughNonJoin                                0 / 633060                                      0 / 1
> org.apache.spark.sql.catalyst.optimizer.ExtractPythonUDFFromJoinCondition                          0 / 628191                                      0 / 1
> org.apache.spark.sql.catalyst.optimizer.ReplaceDeduplicateWithAggregate                            0 / 622673                                      0 / 1
> org.apache.spark.sql.catalyst.optimizer.ObjectSerializerPruning                                    0 / 584944                                      0 / 1
> org.apache.spark.sql.catalyst.optimizer.OptimizeLimitZero                                          0 / 579182                                      0 / 1
> org.apache.spark.sql.catalyst.optimizer.RewriteExceptAll                                           0 / 577035                                      0 / 1
> org.apache.spark.sql.catalyst.optimizer.ReplaceExceptWithFilter                                    0 / 575750                                      0 / 1
> org.apache.spark.sql.catalyst.optimizer.RemoveLiteralFromGroupExpressions                          0 / 571323                                      0 / 1
> org.apache.spark.sql.catalyst.optimizer.ReplaceIntersectWithSemiJoin                               0 / 565906                                      0 / 1
> org.apache.spark.sql.catalyst.optimizer.ReplaceDistinctWithAggregate                               0 / 560051                                      0 / 1
> org.apache.spark.sql.catalyst.optimizer.RewriteIntersectAll                                        0 / 555210                                      0 / 1
> org.apache.spark.sql.catalyst.optimizer.ReplaceExceptWithAntiJoin                                  0 / 547672                                      0 / 1
> org.apache.spark.sql.catalyst.optimizer.RemoveRedundantSorts                                       0 / 505825                                      0 / 1
> org.apache.spark.sql.catalyst.optimizer.CombineTypedFilters                                        0 / 481678                                      0 / 1
> org.apache.spark.sql.catalyst.analysis.ResolveHints$ResolveJoinStrategyHints                       0 / 473878                                      0 / 5
> org.apache.spark.sql.hive.DetermineTableStats                                                      0 / 295270                                      0 / 5
> org.apache.spark.sql.catalyst.analysis.UpdateOuterReferences                                       0 / 282286                                      0 / 5
> org.apache.spark.sql.execution.datasources.PreprocessTableCreation                                 0 / 278740                                      0 / 5
> org.apache.spark.sql.execution.datasources.DataSourceAnalysis                                      0 / 247508                                      0 / 5
> org.apache.spark.sql.hive.RelationConversions                                                      0 / 239619                                      0 / 5
> org.apache.spark.sql.execution.datasources.PreprocessTableInsertion                                0 / 231302                                      0 / 5
> org.apache.spark.sql.hive.HiveAnalysis                                                             0 / 213689                                      0 / 5
> org.apache.spark.sql.catalyst.analysis.PostgreSQLDialect$CastStringToBoolean                       0 / 213367                                      0 / 5
> org.apache.spark.sql.catalyst.analysis.SubstituteUnresolvedOrdinals                                86113 / 213109                                  1 / 6
> org.apache.spark.sql.catalyst.analysis.CTESubstitution                                             0 / 206561                                      0 / 6
> org.apache.spark.sql.catalyst.analysis.ResolveHints$RemoveAllHints                                 0 / 202953                                      0 / 5
> org.apache.spark.sql.catalyst.analysis.ResolveHints$ResolveCoalesceHints                           0 / 179399                                      0 / 5
> org.apache.spark.sql.catalyst.analysis.Analyzer$WindowsSubstitution                                0 / 130099                                      0 / 6
> org.apache.spark.sql.catalyst.analysis.EliminateUnions                                             0 / 129891                                      0 / 6
> org.apache.spark.sql.catalyst.optimizer.CombineConcats                                             0 / 24670                                       0 / 4
> org.apache.spark.sql.catalyst.optimizer.EliminateDistinct                                          0 / 24014                                       0 / 1
> org.apache.spark.sql.catalyst.optimizer.CheckCartesianProducts                                     0 / 16050                                       0 / 2
> org.apache.spark.sql.execution.datasources.SchemaPruning                                           0 / 13895                                       0 / 1
> org.apache.spark.sql.catalyst.optimizer.CostBasedJoinReorder                                       0 / 9600                                        0 / 1
> org.apache.spark.sql.execution.OptimizeMetadataOnlyQuery                                           0 / 8225                                        0 / 1
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org