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

本文涉及的产品
EMR Serverless StarRocks,5000CU*H 48000GB*H
EMR Serverless Spark 免费试用,1000 CU*H 有效期3个月
简介: 百观科技为应对海量复杂数据处理的算力与成本挑战,基于阿里云 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 等,这些产品有着突出的优势,值得进一步尝试与合作,共同探索弹性计算的创新场景。

相关文章
|
29天前
|
DataWorks 数据挖掘 Serverless
阿里云EMR Serverless StarRocks 内容合集
阿里云 EMR StarRocks 提供存算分离架构,支持实时湖仓分析,适用于多种 OLAP 场景。结合 Paimon 与 Flink,助力企业高效处理海量数据,广泛应用于游戏、教育、生活服务等领域,显著提升数据分析效率与业务响应速度。
121 0
|
2月前
|
存储 SQL 测试技术
抖音集团基于Paimon的流式数据湖应用实践
本文整理自抖音集团数据工程师在Flink Forward Asia 2024的分享,围绕流式湖仓架构的背景、实践与未来展望展开。内容涵盖实时数仓架构演进、Paimon的应用与优化,以及在长周期指标计算和大流量场景下的落地实践经验。
329 0
|
5月前
|
存储 运维 Serverless
千万级数据秒级响应!碧桂园基于 EMR Serverless StarRocks 升级存算分离架构实践
碧桂园服务通过引入 EMR Serverless StarRocks 存算分离架构,解决了海量数据处理中的资源利用率低、并发能力不足等问题,显著降低了硬件和运维成本。实时查询性能提升8倍,查询出错率减少30倍,集群数据 SLA 达99.99%。此次技术升级不仅优化了用户体验,还结合AI打造了“一看”和“—问”智能场景助力精准决策与风险预测。
493 69
|
3月前
|
人工智能 分布式计算 DataWorks
一体系数据平台的进化:基于阿里云 EMR Serverless Spark 的持续演进
本文介绍了一体系汽配供应链平台如何借助阿里云EMR Serverless Spark实现从传统Hadoop平台向云原生架构的迁移。通过融合高质量零部件供应与创新互联网科技,一体系利用EMR Serverless Spark和DataWorks构建高效数据分析体系,解决大规模数据处理瓶颈。方案涵盖实时数据集成、Lakehouse搭建、数仓分层设计及BI/ML应用支持,显著提升数据处理性能与业务响应速度,降低运维成本,为数字化转型奠定基础。最终实现研发效率提升、运维压力减轻,并推动AI技术深度整合,迈向智能化云原生数据平台。
140 4
|
7月前
|
存储 分布式计算 物联网
美的楼宇科技基于阿里云 EMR Serverless Spark 构建 LakeHouse 湖仓数据平台
美的楼宇科技基于阿里云 EMR Serverless Spark 建设 IoT 数据平台,实现了数据与 AI 技术的有效融合,解决了美的楼宇科技设备数据量庞大且持续增长、数据半结构化、数据价值缺乏深度挖掘的痛点问题。并结合 EMR Serverless StarRocks 搭建了 Lakehouse 平台,最终实现不同场景下整体性能提升50%以上,同时综合成本下降30%。
588 58
|
7月前
|
机器学习/深度学习 分布式计算 大数据
阿里云 EMR Serverless Spark 在微财机器学习场景下的应用
面对机器学习场景下的训练瓶颈,微财选择基于阿里云 EMR Serverless Spark 建立数据平台。通过 EMR Serverless Spark,微财突破了单机训练使用的数据规模瓶颈,大幅提升了训练效率,解决了存算分离架构下 Shuffle 稳定性和性能困扰,为智能风控等业务提供了强有力的技术支撑。
342 15
|
分布式计算 大数据 MaxCompute
EMR Remote Shuffle Service实践问题之阿里云RSS的开源计划内容如何解决
EMR Remote Shuffle Service实践问题之阿里云RSS的开源计划内容如何解决
|
8月前
|
SQL 弹性计算 分布式计算
阿里云 EMR 发布托管弹性伸缩功能,支持自动调整集群大小,最高降本60%
阿里云开源大数据平台 E-MapReduce 重磅推出托管弹性伸缩功能,基于 EMR 托管弹性伸缩功能,您可以指定集群的最小和最大计算限制,EMR 会持续对与集群上运行的工作负载相关的关键指标进行采样,自动调整集群大小,以获得最佳性能和资源利用率。
360 15
|
7月前
|
SQL 存储 OLAP
阿里云 EMR Serverless StarRocks3.x,极速统一的湖仓新范式
阿里云 EMR Serverless StarRocks3.x,极速统一的湖仓新范式
247 0