个人技术分享

项目背景

客户需要每月生成T+1的全国数据,数据总量大概有10T的样子,资源配置是120多台的hive集群,跑脚本使用spark跑,spark因为使用RAM内存跑,所以比较快,个人也是经验不足,持续学习中。

  • 生产上的脚本如下

优化前的脚本


insert overwrite table dwd_temp_si_eei_ib02_ib03_repeat PARTITION(AAF018)
SELECT ${bdp.system.bizmonth} aae043,
       current_timestamp() aae859,a.aac002, a.AAC002_dup_110_cnt, a.AAC002_dup_110_area,a.aaf018
  FROM (SELECT a.aaf018,a.aac002,
               COUNT(distinct b.aac001) AAC002_dup_110_cnt,
               concat_ws(',', sort_array(collect_set(distinct b.AAB359))) AAC002_dup_110_area
          FROM dwd_temp_ib02 a join ods.ods_si_eei_ac60 b join ods.ods_si_eei_ac01 c                
			   ON (a.aae043 = ${bdp.system.bizmonth