从批处理ETL到流式处理:一个来自Netflix的案例

2018 年 3 月 12 日

要点

  • 在将基于批处理的 ETL 迁移到流式处理的过程中,需要考虑很多因素,并做出很多权衡。不能只是因为流式处理技术的流行而将所有东西都使用流来处理。
  • 这篇文章的案例来自 Netflix,他们使用 Apache Flink 代替原有的批处理系统。之所以选择 Flink,是因为他们需要实时的事件处理和可扩展的自定义窗口。
  • 在迁移过程中碰到了很多困难,例如,如何从实时数据源获取数据、如何管理元数据、如何进行数据恢复、如何处理乱序数据,以及如何做好运维工作。
  • 流式处理为业务带来了好处,例如,可以使用最新的数据来训练机器学习算法。
  • 流式处理也带来了技术方面的好处,例如,可以更灵活地节省存储成本、与其他实时系统集成。

在 2017 年的纽约QCon 大会上,Shriya Arora 呈现了“Personalizing Netflix with Streaming Datasets”的演讲,分享了Netflix 的一个数据作业迁移案例,他们使用Flink 替代了原先基于批处理的ETL。

Arora 是 Netflix 的一名高级数据工程师,在演讲刚开始,Arora 说明了演讲的主要目的是帮助听众们了解流式处理数据管道是否能够帮助他们解决传统 ETL 批处理作业存在的问题。除此之外,她还探讨了在向流式处理迁移过程中需要注意的问题和需要作出的权衡。Arora 表示,“批处理并没有死去”,尽管现在有很多流式处理引擎,但没有哪一个能够单独提供最佳的解决方案。

原文链接:【 https://www.infoq.cn/article/netflix-migrating-stream-processing 】。未经作者许可,禁止转载。

登录后可解锁全站优质内容

免费畅享技术公开课、顶尖技术团队访谈、一线互联网大厂技术实践

文章
视频
电子书
研究报告
立即登录
2018 年 3 月 12 日 16:48 22098

评论

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

面向对象的三个基本特征(要素)

彭阿三

三要素 三个基本特征 封装、继承、多态

Zookeeper-Access Control List(ACL)

CoderLi

Java zookeeper 源码分析 后端

Zookeeper 序列化

CoderLi

Java zookeeper 源码分析 后端

原创 | TDD工具集:JUnit、AssertJ和Mockito (二十一)编写测试-测试模板

编程道与术

Java 编程 TDD 单元测试 JUNI

架构师训练营作业(第二周)

王海

极客大学架构师训练营

2w字长文!手撸一套 Java 基础面试题

cxuan

Java 后端 Java25周年

如何让程序员变得没朋友

四猿外

程序员 程序员素养 个人感悟 技术人生 经验分享

2020年5月云主机性能评测报告

BonreeAPM

云计算 服务器 公有云 机房 云主机

如何基于 OAM 编写一个扩展 Trait?

钱王骞

云原生 k8s OAM

Libra白皮书解读

程序那些事

区块链 facebook 数字货币 libra

Libra教程之:Libra协议的关键概念

程序那些事

区块链 libra blockchain 协议

食堂就餐卡系统架构设计文档

dony.zhang

[架构师训练营] Week01 - 食堂就餐卡系统设计

谭方敏

UML学习

副业月赚 10 万的程序员是如何做销售的?

非著名程序员

程序员 独立开发者 程序人生 提升认知 程序员成长

游戏夜读 | 如何制作游戏?

game1night

迄今为止讲解最详细的Tomcat架构解析与JVM、GC详解及调优文档

周老师

Java tomcat 程序员 Web

Kafka零数据丢失的配置方案

奈学教育

kafka

做产品少走弯路:上帝视角(2)

我是IT民工

产品 方法 路径 知识体系

由一次管理后台定时推送功能引发的对RabbitMQ延迟队列的思考(一)

LSJ

Java RabbitMQ 延迟队列

月薪 3W 的 Apple 微信编辑是这么发文章的 |如何发类似 Apple 微信公众号的文章效果

陈东泽 EuryChen

CSS 微信 前端 apple 微信公众号

大中台模式下如何构建复杂业务核心状态机组件

奈学教育

中台

原创下载 | TDD工具集原创开源代码免费下载!

编程道与术

Java 开源 TDD 下载 代码

自由是不是随心所欲?

Neco.W

个人成长 自由 控制

Java 序列化

CoderLi

Java 程序员 后端 序列化

ZooKeeper 数据模型:节点的特性与应用

CoderLi

zookeeper 源码分析 数据模型 节点

互金总结系列(1)--开篇

Jeff先生

机器学习算法评估指标—2D语义分割

做技术BP的文案Gou

机器学习 2D 评估标准 语义分割

大中台模式下如何构建复杂业务核心状态机组件

古月木易

SpringMVC中Http请求方式转换(post转换为put/delete等方式)

知春秋

springmvc post post到put方式请求 post到delete方式请求

小师妹学JavaIO之:NIO中那些奇怪的Buffer

程序那些事

io nio Java 25 周年 小师妹 buffer

Zookeeper Watcher 流程分析(结合源码)

CoderLi

Java zookeeper 源码分析 后端 Watcher

众安黑客马拉松大赛总决赛-InfoQ小编探班

众安黑客马拉松大赛总决赛-InfoQ小编探班

从批处理ETL到流式处理:一个来自Netflix的案例-InfoQ