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

云计算
re:Invent
0
0
## 视频 <video src="https://dev-media.amazoncloud.cn/30-LibaiGenerate/31-LiBaiRebrandingVideo/NFX308-Netflix_Maestro__Orchestrating_scaled_data___ML_workflows_in_the_cloud-LBrebrandingWCaptionCN.mp4" class="bytemdVideo" controls="controls"></video> ## 导读 随着大数据和[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)的日益普及和影响力,协调生态系统的可扩展性、可靠性和可用性对Netflix来说变得越来越重要。为了更好地满足各种业务需求,Netflix开发了一个新的工作流程协调器Maestro,极大地提高了协调系统的可用性和可扩展性,并提高了与数据一起工作的工程师的生产力。Maestro支持运行超大规模的工作流,由成百上千个具有嵌套结构的作业组成,还可以维护事件信号、工作流和表之间的血缘关系信息。 ## 演讲精华 <font color = "grey">以下是小编为您整理的本次演讲的精华,共900字,阅读时间大约是4分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。</font> Netflix数据平台团队的工作人员工程师He Jing对Netflix广泛的数据和[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)领域进行了深入剖析。她指出,Netflix主要依赖于数据驱动的见解来支持其业务的关键环节。通过使用[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)算法构建的个性化推荐,为全球20亿订阅用户带来愉悦,并提高他们在该服务上的参与度。公司每年投入数十亿美元用于内容收购和生产,通过数据分析创造热门文化现象的原创节目。此外,数据还能帮助检测安全问题,防止故障发生。 Netflix充分利用数据的多种用途。数千名数据工程师负责构建和运行ETL管道,处理和转换来自不同源系统的数据。数据科学家会大规模训练复杂的[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)模型,以生成成员的个性化推荐以及其他优化增长的关键预测。产品团队会对新用户进行A/B测试,以实验新功能并观察其影响。财务团队则利用数据进行审核付款。许多团队都会使用数据来指导决策和分析。 随着Netflix的全球订阅量超过2亿,其内部工作流协调平台Maestro的可扩展性和易用性变得越来越重要。Maestro是Netflix内部完全管理的服务,为数千名内部用户(数据工程师、数据科学家、分析人员和开发人员)提供工作负载自动化,以开发和运行每日ETL管道、[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)工作流程以及任何一般计算任务。 在背后,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的内部开源[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)框架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能够大规模地协调数据处理和[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)工作负载,以满足数千名内部数据使用者的需求。其强大的DSL、参数化的工作流程、可扩展的架构以及与Netflix生态系统的紧密集成共同打造一个强大且灵活的工作流程自动化平台,推动公司的数据驱动文化以及全球数百万用户的创新。 **下面是一些演讲现场的精彩瞬间:** 演讲者在询问观众是否有超过17年的Netflix订阅历史时,发现至少有一个人举起了手。 ![](https://d1trpeugzwbig5.cloudfront.net/NFX308-Netflix_Maestro__Orchestrating_scaled_data___ML_workflows_in_the_cloud/images/rebranded/NFX308-Netflix_Maestro__Orchestrating_scaled_data___ML_workflows_in_the_cloud_0.png) 专家讨论了亚马逊云科技如何助力数据工程师、数据科学家以及其他软件工程师透过数据管道和[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)模型获取洞察力。 ![](https://d1trpeugzwbig5.cloudfront.net/NFX308-Netflix_Maestro__Orchestrating_scaled_data___ML_workflows_in_the_cloud/images/rebranded/NFX308-Netflix_Maestro__Orchestrating_scaled_data___ML_workflows_in_the_cloud_1.png) 亚马逊云科技支持Netflix拓展其工作流程,以便管理大规模的[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)模型训练和数据管道。 ![](https://d1trpeugzwbig5.cloudfront.net/NFX308-Netflix_Maestro__Orchestrating_scaled_data___ML_workflows_in_the_cloud/images/rebranded/NFX308-Netflix_Maestro__Orchestrating_scaled_data___ML_workflows_in_the_cloud_2.png) 专家探讨了亚马逊云科技如何使得用户能够轻松搭建大规模的训练管道。 ![](https://d1trpeugzwbig5.cloudfront.net/NFX308-Netflix_Maestro__Orchestrating_scaled_data___ML_workflows_in_the_cloud/images/rebranded/NFX308-Netflix_Maestro__Orchestrating_scaled_data___ML_workflows_in_the_cloud_3.png) 专家分享了Netflix的Maestro工具如何在不依赖笔记本服务器的情况下提高数据工程师和数据科学家在工作簿中工作的效率、可靠性和易用性。 ![](https://d1trpeugzwbig5.cloudfront.net/NFX308-Netflix_Maestro__Orchestrating_scaled_data___ML_workflows_in_the_cloud/images/rebranded/NFX308-Netflix_Maestro__Orchestrating_scaled_data___ML_workflows_in_the_cloud_4.png) Maestro工具在工作簿中运行时,只需传递工作流程参数即可引用业务逻辑,无需额外的笔记本服务器。 ![](https://d1trpeugzwbig5.cloudfront.net/NFX308-Netflix_Maestro__Orchestrating_scaled_data___ML_workflows_in_the_cloud/images/rebranded/NFX308-Netflix_Maestro__Orchestrating_scaled_data___ML_workflows_in_the_cloud_5.png) 专家还讨论了用户如何通过与S3中的工作簿输出互动来进行工作流程的调试。 ![](https://d1trpeugzwbig5.cloudfront.net/NFX308-Netflix_Maestro__Orchestrating_scaled_data___ML_workflows_in_the_cloud/images/rebranded/NFX308-Netflix_Maestro__Orchestrating_scaled_data___ML_workflows_in_the_cloud_6.png) ## 总结 Netflix在推荐和业务决策方面极其依赖数据。为了支持庞大的数据工作流程,Netflix的工程师们设计并实施了一个强大且易于使用的流程编排系统——Maestro。Maestro提供了灵活的领域特定语言,让用户能够轻松地定义具有参数化任务、条件逻辑和可重用模板等多样化复杂工作流程。工作流程可以根据时间或数据依赖性进行调度。通过Maestro对工作流程执行、扩展和可靠性的处理,工程师们可以专注于业务逻辑。 Maestro的成功关键在于其处理数百万个任务的工作流程的能力。此外,它还能轻松集成到各种不同的平台上,如Spark、SQL、笔记本和Docker等。这种可扩展性使用户能够创建自定义步骤类型。 如今,Maestro已成为Netflix跨平台编排数据管道和[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)工作流程的标准工具。其卓越的可扩展性和深思熟虑的设计抽象使得Netflix得以成为一个真正的数据驱动型企业。 ## 演讲原文 ## 想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站! [2023亚马逊云科技re:Invent全球大会 - 官方网站](https://webinar.amazoncloud.cn/reInvent2023/?s=8739&smid=19458 "2023亚马逊云科技re:Invent全球大会 - 官方网站") [点击此处](https://aws.amazon.com/cn/new/?trk=6dd7cc20-6afa-4abf-9359-2d6976ff9600&trk=cndc-detail "点击此处"),一键获取亚马逊云科技全球最新产品/服务资讯! [点击此处](https://www.amazonaws.cn/new/?trk=2ab098aa-0793-48b1-85e6-a9d261bd8cd4&trk=cndc-detail "点击此处"),一键获取亚马逊云科技中国区最新产品/服务资讯! ## 即刻注册亚马逊云科技账户,开启云端之旅! [【免费】亚马逊云科技“100 余种核心云服务产品免费试用”](https://aws.amazon.com/cn/campaigns/freecenter/?trk=f079813d-3a13-4a50-b67b-e31d930f36a4&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技“100 余种核心云服务产品免费试用“") [【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”](https://www.amazonaws.cn/campaign/CloudService/?trk=2cdb6245-f491-42bc-b931-c1693fe92be1&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用“")
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭