湖仓一体电商项目(七):业务需求和分层设计及流程图
业务需求和分层设计及流程图
一、业务需求
根据网站实时登录会员数据以及会员基本信息来实时统计每个省份用户新增数据及每个省份实时用户的 pv 及 uv 指标,并在可视化大屏展示。
二、业务分层设计及流程图
本业务涉及到的数据来自于 MySQL 业务库用户登录数据表“mc_user_login”、会员基本信息表“mc_member_info”、会员收货地址表“mc_member_address”,我们会将以上业务表数据采集到大数据平台中构建数仓分层,这里我们采数据湖技术 Iceberg 构建湖仓一体结构进行数据仓库分层,用户登录数据表“mc_user_login”是用户登录登出数据信息,在构建数仓中是一张事实表,会员基本信息表“mc_member_info”、会员收货地址表“mc_member_address”两张表是描述会员基本信息数据,在数仓中是维度数据。在设计湖仓分层时,我们将维度数据存储在 HBase 中,将事实数据存储在 Iceberg 数仓分层中。
在前面章节我们通过 maxwell 将 MySQL 业务库数据实时采集到 Kafka“KAFKA-DB-BUSSINESS-DATA”topic 中。针对此 topic 中数据我们需要通过 Flink 代码进行处理,Flink 代码会将所有业务库中的数据保留一份完整数据到 Iceberg ODS 层中,针对维度数据会将数据进行过滤存储在 Kafka 中,方便后续维度数据处理,另外为了使代码重启后消费数据位置信息得到保证,这里我们将所有事实数据也存储在 Kafka 中,后续各层也是按照此逻辑执行。
本业务湖仓分层设计如下图所示:
版权声明: 本文为 InfoQ 作者【Lansonli】的原创文章。
原文链接:【http://xie.infoq.cn/article/69028f3e0cd830c125c5c2423】。文章转载请联系作者。
评论