用通俗易懂的方式分析以下代码:---执行脚本02--p_stock_userinsert overwrite table temp_yt_gw_user partition month_id = $v_monthselect acbss_user_id aprov_id apro_center_level1_id apro_center_level2_id
这段代码是一个执行脚本,用于将数据插入到一个临时表temp_yt_gw_user中的指定分区。插入的数据来自两个子查询的结果。
第一个子查询从表zq_dwa.dwa_m_cus_al_user_sxpro_pd中选择指定月份(v_month)和is_innet为1的记录。然后按照cbss_user_id、prov_id、is_zq_develop、pro_center_level1_id、pro_center_level2_id进行分组,对每个分组计算一些其他的列,并将结果命名为a。
第二个子查询从表dwa.dwa_v_m_cus_cb_user_info中选择指定月份(v_month)、is_stat为1、is_innet为1的记录。然后按照user_id、prov_id、service_type、develop_channel_id进行分组,并将结果命名为b。
最后,通过左连接将a和b两个子查询的结果关联起来,关联条件是a的cbss_user_id等于b的user_id。所选的列是a和b两个子查询的结果中的一些列,以及根据条件计算得到的is_kd和is_gh列。
最终,将关联结果插入到临时表temp_yt_gw_user的指定分区(month_id = v_month)
原文地址: https://www.cveoy.top/t/topic/izCd 著作权归作者所有。请勿转载和采集!