项目流程

121 阅读2分钟

新零售项目流程架构详解? 从MySQL到ODS源数据层,源数据存储在mysql数据库中通过sqoop工具把数据抽取到hdfs的数仓中ODS源数据层,此时的数据几乎没任何修改为临时存储,选用sqoop工具是因为sqoop工具比较稳定当下流行的所以我们选用了sqoop工具 使用的压缩格式是orc+zlib方式,因为在这个步骤中数据量大,而zlib的压缩方式可压缩率较好, 我们导入的方式有四种全量覆盖,全量同步,增量及新增,仅新增,如果都使用增量导入需要进行分区

从ODS到DWD数据经过过滤清洗转换,并用fact和dim区分事实表和维度表,并区分哪些是拉链表并且维护两个字段,endtime和starttime, 压缩格式为orc+snappy格式因为snappy的压缩速度是250M/s解压缩速度500M/s

从DWD层到DWB基础数据层需要对这些数据进行了降维形成按天划分的宽表,只保留最新的数据进行分析操作,为后续的主题做准备,形成商品.订单.店铺三大宽表

从DWB层到DWS层数据经过轻度汇总后形成对应三大主题宽表,分别是销售.商品.用户三大主题宽表,这些表按照指标和维度进行建表,最后形成按天统计的主题宽表,在进行合并表时会增加冗余会使用开窗函数row_number去重grouping和case...when筛选无用的数据用的是presto分布式计算引擎

从DWS层到DM数据集市层以dws层的按天统计的宽表上卷形成按周,月,季度,年统计的宽表,还做了近三十天的宽表和总累计表为后续做数据分析提前做数据准备

从DM层到RPT报表应用层根据业务需求进行裁剪拼接,利用聚合函数sum/count进行计算还用了decmial这个类型进行转换,计算出所需要的数据,可以为后续生成可视化表报提供数据,

最后RPT层到MySQL数据库此时的数据库存储的报表数据,用的工具是presto,因为presto可以同时连接多个不同的数据源,并且后续查询中可以用一条SQL语句就可以查询出所需的数据,由BI工程师生成可视化报表供领导做决策.

image.png