一、立项背景与目标
1.1 立项背景
随着平台业务规模的快速扩张,传统的离线数据分析模式已无法满足业务对数据时效性的迫切需求。业务运营团队需要分钟级甚至秒级的实时数据反馈来支撑决策,而现有的T+1离线分析模式存在明显的数据滞后性,导致运营策略调整滞后、用户体验优化不及时、市场机会错失等问题。
在此背景下,亟需构建一套批流一体(Batch-Stream Unification)的实时数仓平台,通过统一的技术栈和计算引擎,实现实时数据与离线数据的融合处理,为客户提供全链路、全时效的数据分析服务。
1.2 项目目标
核心目标:
实时性:实现秒级延迟的实时数据处理,支撑实时用户访问数、实时下单数等关键业务指标的即时呈现
一致性:通过统一的数据源和计算逻辑,消除实时与离线数据的口径差异,确保数据分析结果的一致性
业务目标:
为运营团队提供实时业务监控能力,实现数据驱动的即时决策
为产品团队提供用户行为分析能力,支持产品功能优化与用户体验提升
二、软件功能概述
欧冶分析中心实时数仓是一套企业级批流一体大数据分析平台,采用业界主流的Lambda架构演进方案,结合Flink的流批一体能力,为客户提供从数据采集、处理、存储到服务的全栈式数据分析解决方案。
实时业务流程
实时业务流程
流程一:实时用户行为分析流程
用户访问平台 → 前端埋点采集 → 日志异步上报 → 服务器日志文件 → Kafka消息队列 → Flink实时写入 → MySQL查询 → 前端数据展示
(数据缓冲) (聚合计算) (结果存储) (Dashboard)
整体架构:
1.构建实时数据处理链路:通过前端埋点采集用户行为日志,利用 Filebeat + Logstash 将数据实时传输至 Kafka。基于 Flink 计算引擎对数据进行清洗与聚合,并将结果实时写入 MySQL,供前端接口调用展示。
2.设计离线数仓分层架构:使用 Sqoop 将业务库数据定时采集至 大数据平台的 ODS 层。利用 Spark 引擎对 Kafka 中的用户行为数据进行小时级与天级批量处理,经过 DWD、DWS 等多层加工,最终将汇总结果(ADS 层)通过 Sqoop 同步推送至 MySQL,满足复杂离线分析需求。
我负责使用Flink 将kafka中的数据 进行清洗与聚合,并将结果实时写入 MySQL,负责实时计算和处理