MRS大企业ERP流程实时数据湖加工最佳实践
本文分享自华为云社区《MRS大企业ERP流程实时数据湖加工最佳实践》,作者:晋红轻 。本文将以ERP流程实践为例介绍MRS实时数据湖方案的演进
案例实践需求解析:
业务描述
[*]AE表:会计分录表,主要记录财务相关信息,可用于成本核算等业务计算。为业务最主要的表,称驱动表。
[*]四通道表:实际为四个门店业务系统,主要记录销售记录信息。为成本核算、科目报表分析等业务提供信息佐证。可称为维表。
业务痛点
[*]科目分析报表业务供数慢的痛点,数据时延高。
[*]实际业务数据有内容更新,保证数据严格一致。
[*]科目分析报表查询仅支持公司、科目、时段等少量查询条件。
实时数据湖方案优势
[*]实时数据湖方案做增量加工,将传统供数压力卸载到每天、每小时、每分钟,100万数据查询只需要2min。
[*]使用Hudi作为数据湖天然支持数据更新。
[*]提供所有数据归档,可随时回溯。
[*]支持科目、批名、凭证名、合同号等31个查询条件,大幅度减少用户导出数据后筛选过滤时间。支持用户基于页面直接分析。
实时数据湖方案实施挑战
[*]流计算基于内存,峰值数据量过大会影响作业稳定性。
[*]多流时延大,数据等待耗费大量内存资源,需考虑业务需求与使用资源的平衡。
流加工模型一:
https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/519/984/817/2850086000519984817.20230809110336.56609702887502464091597584617020:50540808083853:2800:827275A134D9BCAF506FA545D1A68C8A768E9981308DECA46D605FFF3BC5152B.png
模型一特点
•Hudi表流读能够减少整体内存开销,提高作业稳定性。
•以其中一条流为基准(左表),去比较另一条流(右表)
•会出现关联缺失的情况,以驱动表(AE表)的视角(新增&更新)
•1)四通道流早到,并且ttl到期后数据丢失
•2)四通道流晚到,AE流ttl到期后数据丢失
模型一局限:
•目标宽表数据会出现不准的情况
•源端新增因为关联不出有效结果造成目标宽表缺数 -> missing
•源端更改因为关联不出有效结果造成目标宽表延时 -> delay
流加工模型二:
https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/519/984/817/2850086000519984817.20230809110336.78813493526738780203815476446451:50540808083853:2800:930409CA0C3B8F6B5ED524CB37D1B068DB2EAD7197E612A24FF967542C880E1A.png
补偿目的:
补偿目的:基于业务逻辑,对比源端流表和目的端宽表数据内容,发现目标宽表缺失数据主要字段,关联源表完整内容找出缺失数据,并写回源端表补偿层。
missing&delay补偿模拟:
https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/519/984/817/2850086000519984817.20230809110336.17805751004465792251005959042402:50540808083853:2800:897789DC843F46E936D84788A52E4D393B673B33828413E6B696B85FFB5FFDB4.png
模型二特点:比较方案一增加补偿机制,能够对比源表(AE表,四通道表)以及目标宽表,找出缺失数据missing, delay。
模型二局限:实际情况双流之间时延可能较大、对齐较难,虽然能够使用补偿机制找回缺失数据,但是这样流加工任务主要角色会被弱化,同时会对补偿任务造成更大压力,数据时延会变大 。
流加工模型三(最终):
https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/519/984/817/2850086000519984817.20230809110336.30265426722276161210442684480661:50540808083853:2800:1C88DD59E1E1AB9B5D1FDB83421F25E76583F3AF8AABCBDE79D4F5B2D9C94AB1.png
双写目的:业务系统持续向Hudi表,HBase表双写数据。Hudi表流读,提供主要热关联数据,HBase存储所有历史数据,技术上就是维度表,为热关联失败之后进行快速点查补数(lookup join)得到有效关联。提高双流关联的命中率。减少流加工整体数据时延。
维表选型:
https://static001.geekbang.org/infoq/2d/2dca059e79b906f7acb388fe71d9bb7c.png
模型总结:
https://static001.geekbang.org/infoq/f5/f5a355cd36151dc308792a9d7cd0a988.png
点击关注,第一时间了解华为云新鲜技术~
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]