论大数据架构
2022年1月我参与了广西某装备制造集团公司《工业互联网大数据平台》的实施建设工作.项目中我承担系统架构师的职务,主要负责系统的架构设计工作。随着客户公司多年信息化建设,该公司拥有多个大型信息化系统,多年来积累了海量数据。急需构建统建统一的大数据处理平台,形成对大数据的挖掘分析和应用能力。本文以该项目为例,介绍Lamda架构在项目中的具体应用,主要介绍处理全量数据的批处理层、处理实时数据的加速层、提供数据分析的服务层。项目历时8个月,最终顺利构建了该企业的大数据平台数据湖应用,目前系统运行平稳,数据平稳有序入湖,形成了企业数据中心,为企业数据挖掘分析应用项目提供了数据支撑,获得了用户认可。
客户公司是一家全球化公司,公司生产的工程机械产品覆盖全球170多个国家,致力于为行业提供完整的解决方案,需求方经过多年的信息化建设,围绕企业需求构建了多个大型应用系统,主要包括SAP ERP系统、SRM客户关系系统、MES制造执行系统、WMS仓库管理系统和管理工程机械的车联网等系统,这些系统虽然通过企业服务总线进行了互联互通,但是数据还是分散存储,经过多年积累沉淀了海量数据,如果要根据这些海量数据进行数据分析和挖掘,目前系统已经无法满足企业需求,因此企业急需构建以数据湖为中心的大数据平台以支撑企业“全面国际化、全面解决方案和全面智能化”的三全战略。
项目于2022年1月启动,同年8月结束。我方项目组成员10人,我作为技术骨干负责系统架构工作。项目采用Apache HUDI开源架构,其属于Lambda架构,数据接入采用Kafka,数据存储使用HDFS分布式存储,批处理层采用Hadoop,加速层采用Spark,服务层采用HBase存储和Hive分析引擎,经过处理的数据发布成数据资产,由用户进行订阅,Hudi会将订阅的数据推送给用户。项目采用集群部署,3台消息服务器,10台数据库服务器,3台计算引擎服务器,2台应用服务器。下面分别介绍批处理层、加速层、服务器在本项目中的应用。
批处理层:批处理层主要负责大规模历史全量数据,其有两个核心功分别为存储数据集和生成Batch View。以本项目中ERP SAP系统为例,经过多年使用,该系统积累了T级数据量,每天新增数据量近百G数据。如果在SAP系统上直接进行大数据分析会导致SAP数据库服务器压力大增,从而影响其他业务处理。因对SAP数据进行分析的时实性要求并不高,例如根据销量数据进行月度销售数据的分析,其分析结果可以滞后销售数据1~2天,对这类数据就非常符合批处理层来处理,我们通过Kafka 接入SAP数据库服务器,采用夜间SAP系统空闲进行批量数据采集,经过Hadoop 批量业务把数据发布到HBase的Batch View,再由Hive进行数据分析生成报表视图供应用服务使用。这样既可以满足数据分析需求,又可以避免影响业务系统正常运行。
加速层:处理的是最近的增量数据流,对处理和实时响应性要求较高,一般用来处理实时数据。加速层在接收到新的数据后会不断更新Real-time View。该公司车联网系统用于监管公司所有工程机械,其中根据工程机械的运行数据提供智能化施工管控的服务,对数据实时性要求较高。非常适合采用加速层处理,因此我们通过Kafka接入该系统数据后,直接通过Spark实时写入Hbase 的Speed View.我们最开始设计的数据接入点是车联网系统的数据库,但是进行性能测试的时候发现数据延迟比较高,在工程机械工作的高峰期车联网系统的数据库压力原本就非常大,再从该系统数据库采集数据则额外增加了其压力,导致数据采集较慢无法满足业务需求。为了满足实时性要求,我们更换了数据采集节点,直接从车联网系统消息中间件处进行采集,这样就绕开了车联网系统的数据库瓶颈,以达到数据的实时采集和传输。业务系统通过Hbase 高速视图对数据进行应用。
服务层:Serving Layer 用于合并Batch View 和Real-time View中的结果数据集到最终数据集。采用了HBase存储,服务层实际上承担了数据服务中心的角色。其主要的功能有两方面,一是整合批处理和加速层的数据,数据虽然通过批处理和加速层进入HBase,但是这些数据之间很可能有某些关联关系,在Hbase 存储的时候要保留这些有用的关系,例如车联网的数据虽然有实时数据,但是也有一些实时性要求不高的基础数据是通过批处理层进入,实时数据和基础数据可能要进行合并处理,服务层就可以完成这些需求。服务层另外一个功能是数据分析,以前文提到的月度销售数据分析为例,销售数据入库后,需要生成区域报表、日报表等,并以曲线、柱状图、饼图等多种形式进行展示。如果业务系统直接以销售数据为基础进行上述挖掘分析则需要大量计算,尤其是大报表会生成很慢。这时我们可以在服务层利用Hive 直接对销售数据进行分析,并把分析结果数据存储在服务层。业务系统则直接利用服务层的结果数据进行展示,这样处理后业务系统会性能会有巨大提升。月度销售分析功能的报表可以从分钟级响应提高到秒级响应,可以大大提高用户使用满意度。
经过项目组8个月的努力,工业互联网大数据平台项目顺利上线,平台上线后成为成功替换了公司原有的数据仓库,成为公司唯一的数据集散地。各类用户都可以从数据平台获取到所需数据用于各自业务分析,提升业务水平,从而获得了用户一致认可。当然在项目实施中也存在一些不足,例如在项目治理的理念上存在一定分歧,对于数据入库的管控,初期并未引起足够重视,没有相关治理规范,导致引入一些垃圾数据,项目组经过反思沟通公司高层,确定了“先治理后使用”的理念。项目上线后数据湖的数据质量高,得到所有用户的认可,争相申请订阅数据资产,用户的认可是对本次项目实施最大的赞誉。

更多推荐
所有评论(0)