Netflix大师:在云中编排大规模的数据和机器学习工作流

关键字: [Amazon Web Services re:Invent 2023, Netflix Maestro, Workflow Orchestration, Machine Learning Workflows, Workflow Engine, Workflow Execution, Workflow Parameters]

本文字数: 1200, 阅读完需: 6 分钟

视频

如视频不能正常播放,请前往bilibili观看本视频。>> https://www.bilibili.com/video/BV1z94y177KP

导读

随着大数据和机器学习的日益普及和影响力,协调生态系统的可扩展性、可靠性和可用性对Netflix来说变得越来越重要。为了更好地满足各种业务需求,Netflix开发了一个新的工作流程协调器Maestro,极大地提高了协调系统的可用性和可扩展性,并提高了与数据一起工作的工程师的生产力。Maestro支持运行超大规模的工作流,由成百上千个具有嵌套结构的作业组成,还可以维护事件信号、工作流和表之间的血缘关系信息。

演讲精华

以下是小编为您整理的本次演讲的精华,共900字,阅读时间大约是4分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。

Netflix数据平台团队的工作人员工程师He Jing对Netflix广泛的数据和机器学习领域进行了深入剖析。她指出,Netflix主要依赖于数据驱动的见解来支持其业务的关键环节。通过使用机器学习算法构建的个性化推荐,为全球20亿订阅用户带来愉悦,并提高他们在该服务上的参与度。公司每年投入数十亿美元用于内容收购和生产,通过数据分析创造热门文化现象的原创节目。此外,数据还能帮助检测安全问题,防止故障发生。

Netflix充分利用数据的多种用途。数千名数据工程师负责构建和运行ETL管道,处理和转换来自不同源系统的数据。数据科学家会大规模训练复杂的机器学习模型,以生成成员的个性化推荐以及其他优化增长的关键预测。产品团队会对新用户进行A/B测试,以实验新功能并观察其影响。财务团队则利用数据进行审核付款。许多团队都会使用数据来指导决策和分析。

随着Netflix的全球订阅量超过2亿,其内部工作流协调平台Maestro的可扩展性和易用性变得越来越重要。Maestro是Netflix内部完全管理的服务,为数千名内部用户(数据工程师、数据科学家、分析人员和开发人员)提供工作负载自动化,以开发和运行每日ETL管道、机器学习工作流程以及任何一般计算任务。

在背后,Maestro由各种组件构成,如工作流引擎、警报服务、错误分类服务等。对于用户,它提供了易于使用的UI和优雅的DSL,以简洁的YAML、Python或Java定义工作流。

He Jing详细阐述了使Maestro在Netflix规模下强大且用户友好的一些关键特性:

  • 支持可重复使用的模式,如foreach循环和子工作流,使得用户能够轻松定义甚至高度复杂的工作流和DAG。

Netflix团队自主研发了一款名为Maestro的工作流程协调工具,以满足其独特需求。该工具提供了预构建的模板,用于在诸如Spark和Presto等平台运行作业,用户只需指定业务逻辑,而Maestro会处理配置和扩展集群的所有底层复杂性。Maestro可以实现定时触发(如cron)以执行计划作业,也可以在上游数据源更新时精确运行工作流。此外,Maestro还具备安全功能,如访问控制、审计和RBAC,以保护敏感的成员数据。由于找不到能满足其需求的现有工作流程协调解决方案,Netflix团队自行开发了Maestro。如今,Maestro每天运行数十万个工作流和数百万个作业。由于其系统负载高度不均匀且波动较大,尤其是在太平洋标准时间午夜,此时多个ETL管道被安排运行,这使得开发自定义内部平台变得具有挑战性。现在,Maestro已成功地为Netflix的各种关键用例提供支持,如转换来自不同来源系统的海量数据的ETL管道;重新处理数十亿历史数据以进行模型训练;支撑Netflix的内部开源机器学习框架Metaflow;以及进行A/B测试等新功能的实验。Maestro采用了基于微服务的架构,包括可扩展的工作流引擎、API层、Docker执行的运行时以及通过异步事件与下游服务集成。其设计的关键要素包括提供多种接口(如YAML、Python、Java、REST和GraphQL)以适应Netflix的多元化技术团队;紧密集成到数据工程师和科学家使用的各种工具和平台中,如笔记本、Spark、Presto、Docker等;以及支持基于输入的动态执行参数化工作流,而不是静态工作流。

它提供一个可扩展的插件框架,使得团队可以创建自定义的任务步骤。同时,还提供了一种经过多轮迭代优化的领域特定语言(DSL),以提高工作流程的可读性、重复性和可调试性。为了展示其功能,演讲者通过简单基于CRON的工作流程以及复杂的回填工作流程等实例来解释如何使用Maestro。这些示例包括利用参数、foreach循环和可重用的笔记本。此外,Maestro的执行引擎如何支持不同类型的任务也得到详细介绍,例如超过30个预构建的步骤类型,如Spark、Presto、笔记本、Java等,并且可以通过Docker容器引入任何自定义逻辑。Maestro还提供了丰富的指标,以支持深入的监控和报警。总的来说,Maestro使Netflix能够大规模地协调数据处理和机器学习工作负载,以满足数千名内部数据使用者的需求。其强大的DSL、参数化的工作流程、可扩展的架构以及与Netflix生态系统的紧密集成共同打造一个强大且灵活的工作流程自动化平台,推动公司的数据驱动文化以及全球数百万用户的创新。

下面是一些演讲现场的精彩瞬间:

演讲者在询问观众是否有超过17年的Netflix订阅历史时,发现至少有一个人举起了手。

专家讨论了亚马逊云科技如何助力数据工程师、数据科学家以及其他软件工程师透过数据管道和机器学习模型获取洞察力。

亚马逊云科技支持Netflix拓展其工作流程,以便管理大规模的机器学习模型训练和数据管道。

专家探讨了亚马逊云科技如何使得用户能够轻松搭建大规模的训练管道。

专家分享了Netflix的Maestro工具如何在不依赖笔记本服务器的情况下提高数据工程师和数据科学家在工作簿中工作的效率、可靠性和易用性。

Maestro工具在工作簿中运行时,只需传递工作流程参数即可引用业务逻辑,无需额外的笔记本服务器。

专家还讨论了用户如何通过与S3中的工作簿输出互动来进行工作流程的调试。

总结

Netflix在推荐和业务决策方面极其依赖数据。为了支持庞大的数据工作流程,Netflix的工程师们设计并实施了一个强大且易于使用的流程编排系统——Maestro。Maestro提供了灵活的领域特定语言,让用户能够轻松地定义具有参数化任务、条件逻辑和可重用模板等多样化复杂工作流程。工作流程可以根据时间或数据依赖性进行调度。通过Maestro对工作流程执行、扩展和可靠性的处理,工程师们可以专注于业务逻辑。

Maestro的成功关键在于其处理数百万个任务的工作流程的能力。此外,它还能轻松集成到各种不同的平台上,如Spark、SQL、笔记本和Docker等。这种可扩展性使用户能够创建自定义步骤类型。

如今,Maestro已成为Netflix跨平台编排数据管道和机器学习工作流程的标准工具。其卓越的可扩展性和深思熟虑的设计抽象使得Netflix得以成为一个真正的数据驱动型企业。

演讲原文

https://blog.csdn.net/just2gooo/article/details/134865645

想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站!

2023亚马逊云科技re:Invent全球大会 - 官方网站

点击此处,一键获取亚马逊云科技全球最新产品/服务资讯!

点击此处,一键获取亚马逊云科技中国区最新产品/服务资讯!

即刻注册亚马逊云科技账户,开启云端之旅!

【免费】亚马逊云科技“100 余种核心云服务产品免费试用”

【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”

亚马逊云科技是谁?

亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者,自 2006 年以来一直以不断创新、技术领先、服务丰富、应用广泛而享誉业界。亚马逊云科技可以支持几乎云上任意工作负载。亚马逊云科技目前提供超过 200 项全功能的服务,涵盖计算、存储、网络、数据库、数据分析、机器人、机器学习与人工智能、物联网、移动、安全、混合云、虚拟现实与增强现实、媒体,以及应用开发、部署与管理等方面;基础设施遍及 31 个地理区域的 99 个可用区,并计划新建 4 个区域和 12 个可用区。全球数百万客户,从初创公司、中小企业,到大型企业和政府机构都信赖亚马逊云科技,通过亚马逊云科技的服务强化其基础设施,提高敏捷性,降低成本,加快创新,提升竞争力,实现业务成长和成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值