(因为保密协议项目图片无法取出)
该项目是个数据迁移项目 .
背景:主数据来自诺华公司concur报销数据,eapproval数据等,最终生成7 张报 告,原系统用的sqlserver的存储过程生成报告,繁琐而复杂,公司不用原系统了,决定走spark服务,
开发过程:
1、 建立数据模型,生成sttm报告
2、 根据数据模型将数据分层,大的层级有3层
第一层:raw层,主要将原始文件数据接进来,根据业务情况分增量数据和全量数据,又分了三层,pre_landing层(对原始文件进行处理成统一csv文件并备份),landing层(将csv文件写入redshift库),landing_merge层(对增量数据做处理).
第二层:unified 层,将raw层的各个表数据进行清洗,并做逻辑关联处理,落地到redshift库中(底层数据在s3上)
第三层:publish层,将unified层数据做逻辑处理落地到postgresql数据库中,再读取各个表数据生成7张报告推送到publish层的s3上
3、 开发并部署,主要使用的pyspark做开发,用jekins做部署,用airflow 做调度,生成的gluejob运行在aws的云服务上