写点什么

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:008047

评论

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

带你简单了解Chatgpt背后的秘密:大语言模型所需要条件(数据算法算力)以及其当前阶段的缺点局限性

汀丶人工智能

人工智能 ChatGPT

Prompt learning 教学[基础篇]:prompt基本原则以及使用场景技巧助力你更好使用chatgpt,得到你想要的答案

汀丶人工智能

人工智能 自然语言处理 深度学习 ChatGPT prompt learning

在行 | “数智”为离散制造发展注入动能

用友BIP

来了!昇腾MindStudio全流程工具链分论坛精彩回顾,助力高效开发和迁移效率提升

科技热闻

如何做好项目管理工作

老张

项目管理 pmp PMP Certification

2023年北京.NET线下技术沙龙来了!大咖分享,还有精品好礼等你

MASA技术团队

.net MASA

网心科技荣获第二十届“深圳知名品牌”荣誉称号

网心科技

Android 14 Beta 正式亮相, OPPO 连续五年稳居适配第一阵营

科技热闻

在Bamboo上怎么使用iOS的单元测试 | 京东云技术团队

京东科技开发者

ios 单元测试 代码覆盖率 Bamboo 企业号 5 月 PK 榜

ATLAS.ti 8 for Mac(定性数据分析工具) v8.4.4汉化版

Rose

数据分析 苹果软件资源站 ATLAS.ti 8 ATLAS.ti 8 Mac破解版

京喜APP - 图片库优化 | 京东云技术团队

京东科技开发者

性能优化 APP开发 企业号 5 月 PK 榜 图片库优化

揭秘Karmada百倍集群规模多云基础设施体系

华为云开发者联盟

云计算 云原生 华为云 华为云开发者联盟 企业号 5 月 PK 榜

PhotoBulk:Mac上批量调整图片大小、分辨率、添加水印和转换格式的工具

Rose

苹果软件资源站 PhotoBulk for Mac 图片水印添加 批量调整图片 PhotoBulk Mac破解版

iOS MachineLearning 系列(15)—— 可进行个性化更新的CoreML模型

珲少

流批一体数据交换引擎解决方案

weigeonlyyou

物联网 数据迁移 ETL系统 Kafka ETL 流批一体化

Mac苹果电脑如何设置色彩滤镜?

Rose

MacBook 苹果电脑使用教程 色彩滤镜功能 Mac使用

重磅来袭!权限框架的里程碑,Spring Security电子版教程已问世

做梦都在改BUG

Java spring spring security 权限管理系统

抬杠小能手GPT

林十二XII

Mac电脑显示“打不开“XXX”,因为它来自身份不明的开发者的解决办法

Rose

Mac软件打不开 苹果软件 app已损坏

“三问五步”落地医疗行业数据安全建设体系|盾见

极盾科技

数据安全

泰裤拉,安卓反编译居然可以这么简单——Jadx

吴脑的键客

提升打字速度,Master of Typing 3中文很简单~

真大的脸盆

Mac Mac 软件 打字练习 打字软件

如何选择正确的压缩方式?

ScaleFlux

智能硬件 数据压缩 计算存储 NVMeSSD

Blender操作笔记——基本操作

Finovy Cloud

blender 3D绘图

秒验 创建应用

MobTech袤博科技

MAMP Pro(web开发环境)MAMP Pro使用技巧概述

Rose

MAMP Pro破解 MAMP Pro Mac下载 web环境开发 MAMP PRO激活码 MAMP Pro安装教程

共筑数字化未来 金山办公携手华为云完成文档中心和GaussDB适配

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

构建万物互联,华为云IoT+鸿蒙重燃物体感知

华为云开发者联盟

鸿蒙 物联网 华为云 华为云开发者联盟 企业号 5 月 PK 榜

来了!昇腾MindStudio全流程工具链分论坛精彩回顾,助力高效开发和迁移效率提升

Geek_2d6073

数据剖析更灵活、更快捷,火山引擎DataLeap动态探查全面升级

字节跳动数据平台

苹果电脑超高清4K动态壁纸:Live Wallpaper & Themes 4K Pro

Rose

Mac壁纸软件 花见壁纸 Live Wallpaper 动态壁纸高清

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