一、项目背景与业务概况
七猫作为一家专注于文化娱乐领域的互联网企业,总部位于上海前滩中心。自2017年5月推出原创文学平台——七猫中文网以来,公司持续为创作者提供包括写作指导、版权运营在内的全链条服务。随后于2018年8月上线的主打产品“七猫免费小说App”,致力于为用户提供正版、免费且高质量的数字阅读体验。截至目前,平台累计用户已突破6亿,稳居国内网络文学行业的领先位置。
二、原大数据架构及其挑战
七猫的数据仓库团队主要负责支撑各业务线的离线与实时数据开发、指标体系建设以及数据治理工作。随着业务快速发展,原有架构逐渐暴露出一系列问题:
- 多样化计算需求难以统一满足:需同时支持数仓工程师、数据分析师及算法工程师等多角色并发作业,对系统灵活性和兼容性提出更高要求。
- 计算成本居高不下:半托管集群仅支持开源Spark引擎,无法应用业界先进的Native执行优化和Remote Shuffle Service技术来提升性能并降低成本;同时adhoc集群缺乏弹性伸缩能力,导致资源利用率低、浪费严重。
- 运维复杂度高:资源层面依赖人工干预,Spark版本升级、Python环境配置等常规操作不仅繁琐,还存在较高的生产风险;此外,难以精准统计各业务线乃至单个任务的实际开销,阻碍了精细化成本控制与优化。
三、选择阿里云EMR Serverless Spark的核心动因
(一)Fusion + Celeborn 技术融合,批处理效率提升超50%
在大规模数据处理场景中,作业执行性能是衡量系统能力的关键维度。阿里云EMR Serverless Spark通过引入Fusion向量化SQL加速技术和企业级Celeborn远程Shuffle服务,在实际应用中展现出显著优势。以下为三个典型任务的性能对比测试结果:
- 用户行为增量分析任务
资源配置:500核CPU,1500GB内存
Yarn环境耗时:32分钟
Serverless Spark耗时:10分钟,提速达69%
原因:Celeborn有效降低宽依赖阶段的任务调度压力与Shuffle通信开销,优化整体执行路径。 - 用户日志明细处理任务
资源配置:500核CPU,1200GB内存
Yarn环境耗时:30分钟
Serverless Spark耗时:14分钟,提速53%
原因:Fusion加速在宽表Join与聚合运算中表现突出,显著缩短关键算子运行时间。 - 内容聚合与统计任务
资源配置:800核CPU,1200GB内存
Yarn环境耗时:71分钟
Serverless Spark耗时:38分钟,提速46%
原因:面对高达11TB的Shuffle数据量,Serverless Spark仍能保持稳定高效的处理能力,大幅减少任务延迟。
综合来看,三项任务平均提速超过56%,表明该方案在计算密集型与IO密集型场景下均具备强大适应力。相较于传统Yarn架构,Serverless Spark不仅实现了更高的资源性价比,更凭借Fusion与Celeborn的技术协同,达成性能与成本的双重优化。
(二)Serverless模式破解算力瓶颈,实现敏捷弹性调度
面临的问题:传统架构难以应对业务负载波动带来的“潮汐效应”。随着数据作业总量不断攀升,现有集群长期处于高负载状态,而白天时段又常出现资源闲置现象。基于固定实例的资源供给方式缺乏弹性,既无法快速响应突发高峰,也造成非高峰时段的严重浪费,难以满足现代数据服务对“按需响应、准时交付”的要求。
解决方案:七猫全面践行云原生理念,采用Serverless架构重构计算层,构建面向负载动态变化的智能调度体系。核心措施包括:
- 引入阿里云EMR Serverless Spark,依托OSS-HDFS统一存储实现计算与存储完全解耦,支持计算资源秒级扩缩容;
- 通过DataWorks提供的可视化界面,便捷提交与管理Streaming、SQL、PySpark等多种类型作业,提升开发运维效率。
利用 Serverless Spark 海量资源池与容器化调度能力,实现 最小粒度 1 核 的精细化资源计量,按实际使用量计费,彻底告别资源预占;在业务高峰期,系统具备极强的算力爆发能力,可在数分钟内快速弹出数千核 vCore 资源,有效应对瞬时高并发的数据处理需求。这一能力推动了调度模式的根本性升级——从传统的“资源驱动调度”转变为以“业务需求驱动执行”为核心的新范式。
三、技术方案设计
接入层
通过集成 EMR Serverless Spark 官方提供的 spark-submit 工具实现数仓任务的调度,该工具完全兼容开源版本的 spark-submit,极大简化了现有数仓架构向云原生环境的整体迁移流程。 同时,借助 EMR Serverless Spark 提供的 Kyuubi Gateway 支持日常数据分析与即席查询操作。Kyuubi Gateway 不仅提供 100% 兼容开源标准的 RESTful 和 JDBC 接口,还在云原生部署场景下显著增强了服务稳定性及作业提交的并发性能。应用层
数据仓库开发依托阿里云 DataWorks 平台,并结合自建的 Apache DolphinScheduler 实现任务编排与管理。 报表分析和 adhoc 查询则基于 Jetbrains IDE 系列开发工具以及自建的 Apache Superset 平台完成,提升数据探索效率与可视化能力。管控面
平台支持用户无感知的全链路多 AZ 高可用架构,保障 PAAS 服务稳定运行,满足 7×24 小时连续性要求。 通过资源队列机制对不同业务团队的计算资源进行隔离,确保资源使用互不干扰;并在业务高峰或低谷期灵活调整资源上限,实现高效调配。 作业级别的管理能力支持日常运维、性能调优和精细化监控,资源消耗可追踪至单个作业维度,便于开展针对性的成本控制与优化。计算面
引擎能力:- 数仓 SQL 作业默认启用 fusion 加速功能,显著提升 SQL 执行效率。
- 默认采用内置 Celeborn 服务进行 Shuffle 处理,增强大规模 Shuffle 场景下的系统稳定性。 极致弹性:
- 完全兼容开源 Spark 的资源配置方式,支持最小粒度为 1CU 的细粒度弹性伸缩。
- 依托底层资源底座服务能力,确保弹性扩展时的资源供给可靠性。
四、迁移后的收益
技术层面
性能提升:- 核心任务平均运行时间减少 30 分钟。
- 天级报表产出时间提前 5 小时,大幅提升数据时效性。 业务稳定性增强:
- 数仓任务连续 60 天未发生 SLA 中断,系统可靠性显著提高。 运维灵活性提升:
- 无需关注底层资源运维,在业务波峰波谷期间可实现秒级扩缩容。
- 弹性步长精确到 1CU,资源利用率接近 100%。
- 基于作业粒度的资源消耗统计,能够快速识别异常作业并实施定向优化。
- 运行环境实现作业间隔离,避免相互影响,大幅降低运维风险。
- 支持作业级别独立配置 Spark 版本,方便快速测试和验证最新 Spark 功能特性。
- 提供图形化界面定制 Python 运行环境,规避因全局黑屏操作引发的生产事故风险。
财务层面
成本优化成果显著:- 数仓离线链路整体成本下降 35%。
- adhoc 查询相关支出减少 30%。
业务层面
- 数据获取效率提升使业务团队节省约 40% 的无效等待时间,从而将更多精力投入到产品运营、策略优化等高价值工作中。- 数据准确性大幅提升(得益于 Serverless Spark 的稳定性能,数据处理错误率降低 90%),有效避免了因数据偏差导致的决策失误损失。
五、未来展望
- 推进指标加速层建设,实现 StarRocks 与 Serverless Spark 的自动化协同调度。- 深化湖仓一体技术能力,探索 Paimon + Serverless Spark + StarRocks 架构下的端到端性能优化路径。
- 持续跟进 EMR 产品迭代进展(如统一 Catalog、AI Function 等新特性),进一步推动数据处理的智能化升级。


雷达卡


京公网安备 11010802022788号







