百观科技基于阿里云 EMR 的数据湖实践分享

本文涉及的产品
EMR Serverless Spark 免费试用,1000 CU*H 有效期3个月
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介: 百观科技为应对海量复杂数据处理的算力与成本挑战,基于阿里云 EMR 构建数据湖。EMR 依托高可用的 OSS 存储、开箱即用的 Hadoop/Spark/Iceberg 等开源技术生态及弹性调度,实现数据接入、清洗、聚合与分析全流程。通过 DLF 与 Iceberg 的优化、阶梯式弹性调度(资源利用率提升至70%)及倚天 ARM 机型搭配 EMR Trino 方案,兼顾性能与成本,支撑数据分析需求,降低算力成本。

作者:百观科技数据工程团队 高级工程师 齐鹏


背景介绍

公司介绍

百观科技成立于 2016 年,是以数据为核心驱动力的市场研究和信息服务公司。百观以全域数据为基础,通过客观科学的数据分析,解锁数据价值,为客户提供具有现实指导意义的洞察和解决方案。

百观的数据产品和解决方案目前覆盖 10+行业、200,000+企业的上百种商业分析维度,获得了市场广泛的认可。当前,百观的客户主要包括国内外大型基金、主权基金、PE/VC 机构、头部咨询和企服公司、知名消费企业和互联网企业等。


业务特征

自 2016 年起,百观持续积累了海量的行业数据,并且每年都呈现显著的增长趋势。这些数据不仅规模庞大,更兼具多样的数据类型、复杂的数据结构和丰富的数据场景。为了从这些数据中挖掘有价值的洞见,百观的数据团队需要执行繁琐且复杂的数据处理流程,包括数据清洗、转换、聚合以及多维度综合分析等多个环节。尤其是在业务高峰时期,完整的数据处理流程叠加庞大的数据体量,使得算力需求呈指数级增长

百观数据工程团队认为,技术方法论的本质是一种经济学:在供需框架下,以尽可能小的成本满足尽可能多的需求场景,发挥最大效能,创造技术价值。因此,如何平衡灵活丰富的数据分析算法与海量数据处理需求,以及如何在高算力需求下实现成本优化,成为了百观数据工程团队面临的核心挑战和亟待解决的关键问题。

为了应对新的业务挑战,百观选择与阿里云合作,利用其强大的 EMR 平台对老系统进行重构,落地了符合业务场景和分析师习惯的工程解决方案。



为什么选择阿里云EMR

在这样的业务场景下,数据工程团队面临以下挑战:

维度

稳定性

性能

可扩展性

成本

存储

  • 长期存储
  • 避免意外丢失
  • 多粒度备份
  • 有效灾备
  • 海量规模高速读写
  • 备份易找回
  • 易于扩展容量
  • 支持多种数据格式
  • 高性价比
  • 支持冷热分层

计算

  • 日常保证基础算力
  • 能够正确处理任务异常和失败

  • 高峰期应对计算资源突增,响应速度快
  • 在原生 Spark 生态基础上,引入中间件,进一步压榨计算性能

  • 支持核心软件的自定义配置
  • 支持计算环境的开发与扩展

  • 高性价比
  • 进一步提高计算资源利用率


面对这些技术痛点,相较于其他数据平台产品,阿里云 EMR 具备显著的优势:

1.依托高可用的 OSS 存储

相较于其他数据生产平台,EMR 依托 OSS 实现数据存储,因此得以搭建完善的 LakeHouse,从而既能够向下支持多样化的数据,又能够向上承载复杂的数据操作和业务生产。

2.开箱即用的标准开源技术生态

EMR 除了包含核心的 Spark、Hadoop 生态之外,还支持多种数据生态的各类软件,包括:

  • LakeHouse 的关键实现:Iceberg/Hudi/Delta
  • 实时数据流框架:Paimon/Flink
  • OLAP 分析平台:Trino/Presto等

这些平台工具已经做到开箱即用的状态,无需重新部署,只需根据需求调整参数,即可用于生产环境。

3.高度可定制化的运行环境

在保留开箱即用的基础上,EMR 为用户提供了高度定制化的选项,除了内置软件的参数均可调整之外,对于有能力的用户,可以深入 EMR 集群的系统内部做更自由的开发,以满足复杂且多样的生产需求。

4.兼容面广的 Datalake Formation

LakeHouse 需要一套功能完善、兼容广泛且高性能的数据目录(Catalog),Datalake Formation(DLF)能够满足这一需求,并且配合 DLF-Auth 得以实现更精细的数据权限管控。

5.灵活的弹性调度控制

作为弹性计算,EMR 提供丰富的细节参数,让用户可以根据自身业务特征定制弹性策略。

目前 EMR 已支持托管弹性策略,用户亦可以忽略复杂的参数,直接一键开启弹性计算模式。

6.完善的服务保障

在以上完备的技术方案基础上,阿里云提供了专业的技术支持,可以帮助优化方案的实现并解答各种疑难问题。


技术方案设计

百观数据平台,主要面向数据工程师、数据分析师和数据科学家,其业务场景以数据的即席分析为主,以定时调度任务为辅,并提供简单易读的 OLAP 查询,覆盖数据接入、数据清洗、数据分析与聚合、数据交付全流程。

数据接入

数据从外部系统,通过百观数据工程团队自研工具等方式,定时写入 OSS。这种方法简单直接,避免了各个数据引擎之间的对接和转换,最大程度提高研发效率。

数据清洗

数据接入 OSS 后,即可使用 Spark 和 Iceberg 等方式,通过拆解、整理和清洗等方式,最终接入数据湖,并生成 Catalog。这一步沿用了先前的 Iceberg 方案,并且会将数据作业集成到 Airflow 上,定时发送到 EMR 集群进行处理。

聚合与分析

在这一环节,数据分析师与数据科学家合作,完成聚合、分析及更多数据科学方面的研究。这部分工作主要是通过自建的 Notebook 提交到 EMR 集群,其计算环境复杂多样,不同场景下的计算量也有巨大差异。


EMR 的标准化、自研定制化、高灵敏弹性调度等特性能够很好地应对这种复杂数据研究的场景,不仅确保开发者灵活处理复杂数据,还降低了运维难度,甚至直接降低计算成本。

核心组件的实践

以下介绍三个核心组件的实践。


DLF on Iceberg 方案

在数据工程团队测试中,DLF 能够完美继承 Spark/Hive 表,同时也能够接入 Iceberg 表。但数据工程团队发现了潜在的致命问题,在大规模 Iceberg 表的场景中,DLF 疑似存在性能下降,这些性能问题会导致计算失败,致使核心业务受阻。发现该隐患后,数据工程团队立刻将该问题上报给 EMR 产研团队,并且与其紧密合作,从多份日志中拼凑出问题的全貌,共同分析问题有可能的成因和解决方案。最终,EMR 产研团队成功解决该问题,由此可以打通 DLF 与 Iceberg 的高性能无缝集成,也实现了 LakeHouse 的完整构建。

EMR 集群弹性调度策略

阿里云 EMR 早先并未提供托管弹性调度,而是将调度配置直接交给用户选择,经验丰富的用户可以根据自身业务特性调配出多样化的弹性规则。数据工程团队先前直接使用当时托管的弹性调度算法,并未深入研究 EMR 弹性资源调度的问题。因此,尽管数据工程团队对该问题颇有见解,但由于缺乏实践操作和相关数据,且难以复刻生产环境进行测试,一旦调整不当,就会陷入“既无法满足业务响应,又无法及时回收空闲资源”的两难境地。于是,数据工程团队决定求助于 EMR 产研团队,而EMR 产研团队亦能及时响应,多次主动与百观数据团队进行沟通,最终共同设计出一套阶梯式的高效低成本的弹性调度模式。

目前EMR 托管弹性调度已上线三个月,这期间百观数据工程团队依托该功能持续稳定为公司业务提供支持,集群利用率由原先 45%左右提高至接近 70%。


OLAP 方案的打磨

数据工程团队此前使用AWS Athena,这套 OLAP 引擎依托于 Trino 实现了 Serverless 式的数据查询服务,这意味着:

1.已有的查询 SQL 均符合 Trino 语法

2.单条查询成本低

3.Serverless Trino 的计算资源充足,性能有保障

阿里云数据产品生态包含多种类型的数据库,这些数据库在各自领适用领域内有足够强的优势。尽管目前没有直接提供 Serverless版本的Trino,但阿里云EMR内包含有社区版Trino。

数据工程团队对该场景的考量,优先是存量SQL兼容性,其次是成本,因此在做过几轮对比后,最终选择EMR Trino作为该场景的解决方案。

数据工程团队充分评估了阿里云倚天ARM ECS机型的性格规格,认为其卓越的内存计算能力与Trino的OLAP应用高度契合。基于倚天机型的EMR Trino不仅完美满足了兼容性需求,同时还在性价比上展现出巨大优势,对比测试结果如下:


方案

成本

SQL 兼容性

性能

EMR Trino x86_64

较高

兼容

一般

EMR Trino 倚天

相同规模显著低于 x86_64

兼容

相同成本下好于x86_64


最终,数据工程团队选择 EMR Trino 搭配倚天机型,这是符合业务需求的最优 OLAP 方案,且性价比提高 20%以上。得益于阿里云 EMR 高度开放的技术生态和其产研团队的精细打磨,这套技术方案在生产系统上长期稳定运行。


显著的提升

相较于百观先前使用的系统,在完成平台重构后,新旧平台在性能、成本等方面有显著收益。


性能层面

由于 EMR 集群性能的提升,以下指标得到了显著优化:


性能指标

重构前

重构后

优化百分比

EMR 集群启动速度

13min+

3min+

70%+

EMR 集群扩容速度

10min+

2min+

70%+

EMR 集群缩容速度

5min+

2min+

60%+

核心作业执行时间

45min+

15min+

60%+



成本层面

在同等数据规模、相同计算量的条件下,以下成本指标得到了显著优化:


成本指标

重构前

重构后

优化百分比

单位时间的计算成本-元/CU/时-中位数

1 CU按照1核CPU+4GB内存折算

0.72

0.23

68%

在此基础上,EMR 的月均成本也得到 50%以上的优化。


业务层面

得益于性能和成本方面的双重优化,业务层面获得了多方面收益:

  • 数据响应时间:部分业务由小时级提高到分钟级,生产速度得到大幅提升。
  • 数据研发模式:更快的数据生产有利于分析师进行更密集的数据操作,使团队间协作更为紧密。
  • 数据探查深度:更强的计算性能有利于业务方进行更复杂的数据探查,以便得出更有价值的数据研究。
  • 业务增长空间:总体优化为业务增长提供了有力支持。


总结与展望

百观科技作为数据要素市场的重要开拓者和数据技术的先进践行者,其业务团队和数据工程团队一致认可此次平台重构。百观 CTO 说“本次EMR数据湖系统的构建,不仅全面满足百观的业务需求,还在提高计算效率的同时,大幅降低成本,是百观与阿里云之间一次成功的深度合作,这离不开阿里云深厚技术积淀和阿里云同事们高效且专业的帮助。事实证明,阿里云 EMR 系列产品及背后的团队已经做到了‘国际主流,国内领先’的水准。”

随着业务的发展,百观将继续开展更加多样化、更加有深度的数据洞察,这需要在技术架构、技术过程、技术工具等方面进行立体式升级。阿里云在数据场景还有更多成熟的解决方案,如:实时数仓 Hologres、EMR Serverless Spark 等,这些产品有着突出的优势,值得进一步尝试与合作,共同探索弹性计算的创新场景。

相关实践学习
基于EMR Serverless StarRocks一键玩转世界杯
基于StarRocks构建极速统一OLAP平台
快速掌握阿里云 E-MapReduce
E-MapReduce 是构建于阿里云 ECS 弹性虚拟机之上,利用开源大数据生态系统,包括 Hadoop、Spark、HBase,为用户提供集群、作业、数据等管理的一站式大数据处理分析服务。 本课程主要介绍阿里云 E-MapReduce 的使用方法。
目录
打赏
0
59
59
0
125
分享
相关文章
千万级数据秒级响应!碧桂园基于 EMR Serverless StarRocks 升级存算分离架构实践
碧桂园服务通过引入 EMR Serverless StarRocks 存算分离架构,解决了海量数据处理中的资源利用率低、并发能力不足等问题,显著降低了硬件和运维成本。实时查询性能提升8倍,查询出错率减少30倍,集群数据 SLA 达99.99%。此次技术升级不仅优化了用户体验,还结合AI打造了“一看”和“—问”智能场景助力精准决策与风险预测。
174 69
美的楼宇科技基于阿里云 EMR Serverless Spark 构建 LakeHouse 湖仓数据平台
美的楼宇科技基于阿里云 EMR Serverless Spark 建设 IoT 数据平台,实现了数据与 AI 技术的有效融合,解决了美的楼宇科技设备数据量庞大且持续增长、数据半结构化、数据价值缺乏深度挖掘的痛点问题。并结合 EMR Serverless StarRocks 搭建了 Lakehouse 平台,最终实现不同场景下整体性能提升50%以上,同时综合成本下降30%。
376 58
基于阿里云大数据平台的实时数据湖构建与数据分析实战
在大数据时代,数据湖作为集中存储和处理海量数据的架构,成为企业数据管理的核心。阿里云提供包括MaxCompute、DataWorks、E-MapReduce等在内的完整大数据平台,支持从数据采集、存储、处理到分析的全流程。本文通过电商平台案例,展示如何基于阿里云构建实时数据湖,实现数据价值挖掘。平台优势包括全托管服务、高扩展性、丰富的生态集成和强大的数据分析工具。
阿里云 EMR Serverless StarRocks3.x,极速统一的湖仓新范式
阿里云 EMR Serverless StarRocks3.x,极速统一的湖仓新范式
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
Uber基于Apache Hudi增量 ETL 构建大规模数据湖
Uber基于Apache Hudi增量 ETL 构建大规模数据湖
242 2
基于Apache Hudi + MinIO 构建流式数据湖
基于Apache Hudi + MinIO 构建流式数据湖
390 1
从数据存储到分析:构建高效开源数据湖仓解决方案
今年开源大数据迈向湖仓一体(Lake House)时代,重点介绍Open Lake解决方案。该方案基于云原生架构,兼容开源生态,提供开箱即用的数据湖仓产品。其核心优势在于统一数据管理和存储,支持实时与批处理分析,打破多计算产品的数据壁垒。通过阿里云的Data Lake Formation和Apache Paimon等技术,用户可高效搭建、管理并分析大规模数据,实现BI和AI融合,满足多样化数据分析需求。
构建智能数据湖:DataWorks助力企业实现数据驱动转型
【8月更文第25天】本文将详细介绍如何利用阿里巴巴云的DataWorks平台构建一个智能、灵活、可扩展的数据湖存储体系,以帮助企业实现数据驱动的业务转型。我们将通过具体的案例和技术实践来展示DataWorks如何集成各种数据源,并通过数据湖进行高级分析和挖掘,最终基于数据洞察驱动业务增长和创新。
526 53
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等