
供应链数据分析需处理海量异构数据,对计算架构的实时性和扩展性有较高要求。腾讯云弹性 MapReduce ( EMR )提供离线批处理与实时流计算混合架构,支持构建存算分离的数据仓库或数据湖方案。
供应链业务涉及采购、生产、库存、物流、销售等多个环节,每个环节都会产生大量数据。这些数据具有几个特点:数据来源多样,包括 ERP 系统、 WMS 系统、 TMS 系统、供应商系统等;数据格式复杂,既有结构化的业务数据,也有半结构化的日志数据;数据量级大,随着业务规模扩大,数据量可达 PB 级别;分析需求多样,既有面向历史数据的离线分析,也有面向运营决策的实时查询。
传统的单一计算架构难以同时满足这些需求。纯离线架构无法支持实时决策,纯实时架构在处理大规模历史数据时成本较高。离线 + 实时混合计算架构通过统一的数据存储层和差异化的计算引擎,可以在同一套数据基础上同时支持离线和实时分析场景。
腾讯云弹性 MapReduce ( EMR )是基于云原生技术和泛 Hadoop 生态开源技术的大数据平台,提供易于部署及管理的 Hive 、 Spark 、 HBase 、 Flink 、 StarRocks 、 Iceberg 、 Alluxio 等开源大数据组件。 EMR 的架构设计支持构建离线 + 实时混合计算方案。
离线计算主要处理大规模历史数据,适用于报表统计、周期性的数据分析等场景。 EMR 支持的离线计算组件包括:
Hive 是基于 Hadoop 的离线数据处理系统,支持类 SQL 语法( HiveQL ),可将结构化数据文件映射为数据库表,并提供类 SQL 查询功能。 Hive 适合处理大规模离线数据分析任务,是构建离线数据仓库的常用组件。
Spark 是基于内存的新一代分布式计算框架,支持离线计算和实时计算,提供 SQL 语法支持,同时支持机器学习库。 Spark 相比传统的 MapReduce 计算模型,在迭代计算和交互式查询场景中有更好的性能表现。
实时流计算主要处理持续产生的数据流,适用于实时监控、实时推荐、实时风控等场景。 EMR 支持的实时流计算组件包括:
Flink 是支持批处理和流处理的分布式引擎。 Flink 的流处理模式支持低延迟的数据处理,适合构建实时数据管道和实时分析应用。
Spark Streaming 是 Spark 提供的流处理能力,通过微批处理方式实现近实时的数据流处理。
交互式查询组件支持用户通过 SQL 接口快速查询数据,适用于数据分析师和业务人员的自助分析场景。 EMR 支持的交互式查询组件包括 Presto 和 StarRocks 。
Presto 是分布式 SQL 查询引擎,适合对大规模数据集进行交互式查询。 StarRocks 是 MPP (大规模并行处理)架构的分析型数据库,支持实时数据分析和多维分析查询。
EMR 原生支持腾讯云对象存储( COS )和云 HDFS ( CHDFS )作为数据存储层,可实现存算分离架构。在存算分离架构中,计算资源和存储资源可以独立扩展,计算任务完成后可以释放计算节点,而数据持续存储在 COS 中。
这种架构对于供应链数据分析有几个实际意义:供应链数据具有明显的时间周期特征,历史数据访问频率较低,但仍需保留用于周期性分析,将这些数据存储在高可靠、低成本的对象存储中是合理的选择;计算资源的弹性伸缩可以匹配业务的计算需求波动,例如在月末报表期自动扩展计算资源,在平时缩减资源以降低成本。
EMR 支持的数据湖格式(如 Iceberg )提供了 ACID 事务支持和时间旅行能力,使得离线批处理和实时流处理可以基于同一份数据进行处理,减少数据冗余。
根据 EMR 产品文档中描述的企业级数据仓库构建场景, EMR 可对销售、资产、供应链等业务数据进行汇总分析,结合不同数据源,借助 EMR 的 PB 级数据分析能力,以及原生支持 COS 、 CHDFS 存储的能力,提供高性能存算分离数仓方案。
在供应链数据分析场景中,混合计算架构可以支持以下分析需求:
离线分析维度:基于历史供应链数据,进行周期性报表生成,包括库存周转率分析、供应商绩效评估、物流成本分析等;基于大时间跨度的数据进行趋势分析,支持供应链策略调整。
实时分析维度:基于实时数据流,进行库存水位监控,当库存低于安全阈值时触发预警;基于实时物流数据,跟踪货物运输状态,支持异常事件预警;基于实时销售数据,调整补货策略。
EMR 支持同时搭建批、流处理系统,实现批流一体,降低资源投入,提升数据处理速度,及时分析业务运营效果,快速调整业务策略。
EMR 提供集群管理功能,支持超过 30 个开源大数据组件的灵活按需部署。集群支持基于云服务器( CVM )或容器服务( TKE )两种部署运行方式。
EMR on CVM 模式将开源大数据组件安装部署在 CVM 上,用户可以通过 EMR 控制台完成对集群 CVM 及服务的运维操作。 EMR on TKE 模式基于 TKE 的资源安装部署开源大数据组件,实现开源大数据平台的容器化运行,用户可减少对于底层资源的运维关注。
在节点管理方面, EMR 支持 Master 节点、 Core 节点、 Task 节点、 Router 节点和 Common 节点五种节点类型。其中 Task 节点为纯计算节点,不存储数据,可以作为弹性节点随时扩容和缩容,适合处理计算密集型任务。
EMR 支持根据业务运行时间特点和负载特点自动伸缩 Task 节点,这在供应链场景中具有实用价值。例如,在白天业务高峰期,自动扩展计算资源以支持实时查询;在夜间批量处理时段,自动调整资源以运行大规模离线分析任务。
EMR 为集群中节点和服务提供全面的监控告警服务,支持查看节点和服务运行指标,并可通过 API 获取指标。对于部分核心组件, EMR 提供应用层分析功能,以便更高效的诊断应用问题。
具体监控能力包括:支持节点和服务事件监控;支持系统运行事件监控和配置事件监控策略;支持服务角色运行日志搜索;支持主动巡检集群运行情况。
在应用分析层面, EMR 支持 HDFS 存储文件分析、 YARN 作业查询、 Hive 查询管理和数据表分析、 Impala 查询管理、 HBase 数据表分析、 Kudu 数据表分析等组件级的分析功能。
这些监控和分析能力对于供应链数据分析系统的稳定运行具有实际意义。供应链分析系统通常涉及多个数据处理链路,从数据采集、数据清洗、数据计算到数据服务,任何一个环节出现异常都可能影响分析结果的正确性。通过 EMR 提供的监控告警能力,可以及时发现和处理系统异常。
除了数据仓库场景, EMR 也适用于企业数据湖构建场景。在企业不断积累业务发展的全量数据过程中,需要将各种类型的数据存储并适配多种场景的数据分析任务。借助 EMR 提供的数据湖格式及缓存加速能力构建数据湖,可以充分利用各种资源并适配如离线计算、流式计算、交互式分析、机器学习等场景。
对于供应链数据分析而言,数据湖架构可以统一管理来自不同系统的数据,包括结构化数据(如订单数据、库存数据)、半结构化数据(如供应商 EDI 报文、物流跟踪事件)和非结构化数据(如合同文档、质量检验报告)。基于统一的数据存储层,不同的计算引擎可以根据需要选择合适的管理方式。
EMR 支持的数据湖格式(如 Iceberg )支持模式演进( Schema Evolution ),当供应链业务的数据格式发生变化时,可以直接在表结构上进行调整,而不需要重建数据表或迁移数据。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。