大厂Data+Agent 秘籍:腾讯/阿里/字节解析如何提升数据分析智能。 了解详情
写点什么

Yelp 使用 Apache Beam 和 Apache Flink 彻底改造其流式架构

  • 2024-05-29
    北京
  • 本文字数:1116 字

    阅读完需:约 4 分钟

大小:523.49K时长:02:58
Yelp 使用 Apache Beam 和 Apache Flink 彻底改造其流式架构

Yelp 公司 采用 Apache Beam 和 Apache Flink 重新设计了原来的数据流架构。该公司使用 Apache 数据流项目创建了统一而灵活的解决方案,取代了将交易数据流式传输到其分析系统(如 Amazon Redshift 和内部数据湖)的一组分散的数据管道。


Yelp 在两套不同的在线系统中管理业务实体(其平台中的主要数据实体之一)的属性。平台的旧版部分将业务属性存储在 MySQL 数据库中,而采用微服务架构的较新部分则使用 Cassandra 存储数据


在过去,该公司将数据从在线数据库流式传输到离线(分析)数据库的解决方案,是由上述管理业务属性的两个区域的一些独立数据管道组成的。该方案使用  MySQL 复制处理程序 从旧系统推送数据,使用  Cassandra 源连接器 从新系统推送数据。在这两种情况下,更新都发布到 Apache Kafka,而  Redshift 连接器负责将数据同步到相应的 Redshift 表。


之前的业务属性流式传输架构(来源:Yelp 工程博客)


原有解决方案采用单独的数据管道,将数据从在线数据库流式传输到分析数据存储中,其封装性较弱,因为离线(分析)数据存储中的数据表与在线数据库中的对应表完全对应,使数据分析团队面临数据差异和数据准确性问题。此外,分析过程必须从多个表中收集数据,并将这些数据规范化为一致的格式。最后,由于在线和离线数据存储之间的表架构相同,对架构的更改必须在两处各自部署,从而带来了维护挑战。

Yelp 团队决定解决原有方案的这些问题,方法是将在线系统的内部实施细节抽象出来,并为使用分析数据存储的客户提供一致的体验。Yelp 高级数据工程师 Hakampreet Singh Pandher 解释了团队采用的方法:[...]


我们实施了一个统一的流,以一致且用户友好的格式提供所有相关的业务属性数据。这种方法可确保业务属性消费者无需处理业务属性和功能之间的细微差别,也无需了解它们的在线源数据库中数据存储的复杂性。


团队利用 Apache Beam 和 Apache Flink 作为分布式处理后端。Apache Beam 转换作业从旧版 MySQL 和较新的 Cassandra 表中获取数据,将数据转换为一致的格式并将其发布到单个统一的流中。工程师使用  Joinery Flink 作业 将业务属性数据与相应的元数据合并。另一项作业用于解决数据不一致的问题,最后在 Redshift Connector 和 Data Lake Connector 的帮助下,业务属性数据进入两个主要的离线数据存储中。


业务属性的新流式架构(来源:Yelp 工程博客)


彻底改造流式架构的总体收益是让数据分析团队能够通过单一模式访问业务属性数据,这有助于数据发现,让数据消费更简单。该团队还利用 实体 - 属性 - 值(EAV)模型,将新业务属性纳入系统,同时减少维护开销。


原文链接:


Yelp Overhauls Its Streaming Architecture with Apache Beam and Apache Flink (https://www.infoq.com/news/2024/04/yelp-streaming-apache-beam-flink/)

声明:本文为 InfoQ 翻译,未经许可禁止转载。

2024-05-29 08:008154

评论

发布
暂无评论
发现更多内容

区块链RWA系统开发框架

北京木奇移动技术有限公司

区块链技术 软件外包公司 RWA开发

葵花药业集团与用友战略签约,共启医药行业数智化新篇章

用友BIP

CST如何生成简单通用的IBIS模型文件

思茂信息

cst CST软件 CST Studio Suite

区块链RWA软件系统技术方案

北京木奇移动技术有限公司

区块链技术 软件外包公司 RWA开发

WebGIS项目开发技术方案

北京木奇移动技术有限公司

软件外包公司 webGIS开发 webgl开发公司

TiDB 中新 Hash Join 的设计与性能优化

TiDB 社区干货传送门

深化合作!港华集团数智升级,构建一体化管控平台

用友BIP

0.4元/TB/月!天翼云HBlock打响软件定义存储价格战

天翼云开发者社区

存储 天翼云HBlock

区块链ETF软件系统的技术方案

北京木奇移动技术有限公司

区块链技术 软件外包公司 区块链ETF

1688 商品数据接口终极指南:Python 开发者如何高效获取标题 / 价格 / 销量数据(附调试工具推荐)

tbapi

1688商品列表接口 1688API 1688商品数据采集

中国电信重塑天翼AI云手机,为用户开启云端智能新生活

极客天地

Blender 入门教程(四):动画制作

北桥苏

游戏引擎 blender CocosCreator

WebGL软件开发的技术方案

北京木奇移动技术有限公司

软件外包公司 webgl开发 webgl技术

用户实测YRCloudFile KVCache丨以存代算显著提升AI推理性价比

焱融科技

AI推理 大型语言模型LLM KVCache

办公网络流量隔离:为高效办公保驾护航

天翼云开发者社区

安全 网络

让用户反馈成为产品迭代的动力源泉

Feedalyze

效率工具 产品经理 产品迭代 用户反馈 用户需求

1688API接口终极宝典:列表、详情全掌握,图片搜索攻略助你一臂之力

tbapi

1688商品详情接口 1688商品数据接口 1688API 1688图片搜索接口

TiDB 替换 HBase 全场景实践指南 ——从架构革新到业务赋能

TiDB 社区干货传送门

TiDB第四届征文-业务场景实战

“最近我给有代码洁癖的同事墙裂安利了通义灵码”

阿里云云效

通义灵码

你的产品功能真的必要吗?

Feedalyze

效率工具 产品开发 产品迭代 用户反馈 用户需求

“全球金牌敏捷课程” · 7月19-20日CSM认证课程 · Jim老师引导讨论AI & Agility话题

ShineScrum

敏捷 敏捷教练 CSM认证 CSM认证培训 敏捷认证

5月23日开课!“北大-用友CIO/CDO数智化进阶课程”

用友BIP

网站进行IPv6改造的步骤有哪些?一文看懂

国科云

特权账号:企业安全的关键要素与防护策略

天翼云开发者社区

安全 特权账号

AI大模型入门 三:5分钟速成Prompt公式,让AI生成代码的通过率从30%到90%

测试人

人工智能

从开发者角度看数据库架构进化史:JDBC - 中间件 - TiDB

TiDB 社区干货传送门

开发语言 应用适配 数据库连接 8.x 实践

MCP与华为云CSE珠联璧合,打造AI时代微服务生态引擎

华为云开发者联盟

微服务 华为云开发者联盟 MCP 华为云CSE

【AI智能助手】轻松打造智能助手,定制专属个性风格

JEECG低代码

AI大模型 AI应用 AIGC AI智能助手

针对大事务问题对业务存储过程改造

GreatSQL

什么是零信任

天翼云开发者社区

零信任 SDP架构

“最近我给有代码洁癖的同事墙裂安利了通义灵码”

阿里巴巴云原生

Yelp 使用 Apache Beam 和 Apache Flink 彻底改造其流式架构_架构_Rafal Gancarz_InfoQ精选文章