## 视频
<video src="https://dev-media.amazoncloud.cn/30-LibaiGenerate/31-LiBaiRebrandingVideo/API310-Scale_interactive_data_analysis_with_Step_Functions_Distributed_Map-LBrebrandingWCaptionCN.mp4" class="bytemdVideo" controls="controls"></video>
## 导读
对于许多组织而言,扩展数据处理工作负载是一项重大挑战。然而,使用 Amazon Step Functions Distributed Map state 可以简化这一过程。在本讲座中,您将了解如何一次构建数据处理或其他自动化,并利用[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)技术随时将其扩展到数千个并行处理。探索这种方法如何简化开发和错误处理,同时提高速度并降低成本。聆听一位亚马逊云科技客户如何重构现有[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)应用程序以使用分布式地图,以及他们在此过程中学到的经验教训。
## 演讲精华
<font color = "grey">以下是小编为您整理的本次演讲的精华,共1500字,阅读时间大约是8分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。</font>
2022年亚马逊云科技re:Invent在拉斯维加斯的曼德勒湾会议中心举行,亚马逊云科技的[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)解决方案首席架构师亚当·瓦格纳在会议上展开了精彩的演讲。他热情地欢迎与会者的到来,并向大家介绍了他的合著者——生物技术公司Vertex Pharmaceuticals的软件工程高级总监罗伯托·雷尔。他们共同为大家带来了一场关于如何利用亚马逊云科技的分布式处理技术进行交互式数据分析的精彩演讲。
亚当从处理亚马逊S3中500,000个发票文件的常见应用场景入手,吸引了观众的注意力。他幽默地指出,作为开发者,他们可能会自然地按照顺序处理这些文件,但面对如此庞大的数据量,这种方式将会非常耗时,可能需要几天甚至几周的时间才能完成。为了解决这个问题,开发者们通常会利用分布式处理框架来分割工作并在多个计算节点上并行处理。
协调器节点负责将工作批次分配给每个计算节点,监控任何节点的故障,并管理中间存储和优化缓存。这种分布式方法的优点包括加快处理速度、易于扩展以处理数据量的增加、内置容错功能以及利用弹性资源降低成本。然而,传统的分布式处理框架也面临着一些挑战,如确定最佳的集群大小、需要专门的大数据工程技能以及在成本、速度和安全性之间找到合适的平衡。
互动式数据处理带来了额外的挑战,因为通常需要实时响应用户需求,而不仅仅是预定的夜间批量处理任务。如果这些交互式任务被排队等待,最终用户体验可能会面临数小时甚至数天的不可忍受延迟。据亚当建议,步骤函数(Step Functions)是一种更为简单且适用于此类情况的[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)解决方案。
他指出,[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)技术能加速创新进程,因为它省去了对基础设施管理的繁琐工作。高可用性、自动扩展至500,000个文件的能力以及按需付费的模式使开发人员能够专注于业务逻辑而非服务器维护。具体来说,步骤函数提供了一种[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)流程编排服务,可与大部分其他亚马逊云科技服务完全集成,以满足各类编排需求。
步骤函数的常用场景包括大规模数据处理(如处理500,000个文件)、分布式系统的应用微服务编排、包含审批环节的工作流程、安全自动化(如欺诈检测)以及[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)管道。例如,在处理模型置信度不足而无法自动化的场景中,步骤函数能在[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)模型和人审阅者之间进行有效的工作流程协调。该服务还提供了图形化的流程可视化功能,支持扩展至500,000个文件的分布式数据处理能力,并与亚马逊云科技的Application Composer无缝集成,以便创建复杂应用程序。
以发票处理为例,亚当展示了一个如何使用步骤函数的Distributed Map结构在[Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail)中迭代处理500,000个对象的示例。每个500,000个对象都会触发一个子工作流程步骤来并行处理单个文件,所有子工作流程完成后才能汇总结果。这种设计让开发者只需关注处理每个文件的业务逻辑,而步骤函数的分布式映射功能则负责协调跨500,000个文件的编排、平行化和可扩展性。
亚当解释道,分布式地图功能能够遍历S3存储桶中的500,000个对象,包括与前缀过滤器匹配的对象子集、大型多GB文件或巨大JSON数组。该功能可支持最多10,000个并行子工作流程的执行,并通过额外优化,能扩展至处理500,000个文件。最大并发性可根据下游系统约束和扩展需求进行配置。子工作流程本身可使用标准或表达的Step Functions引擎。表达工作流程为高容量交易使用案例提供了简化的功能。批量大小也可从1到500,000进行配置,以在不同工作负载大小之间调整性能。
在这个阶段,来自Vertex Pharmaceuticals的罗伯托·雷尔提供了一个实际例子,展示了如何利用分布式地图和Step Functions处理大量用于药物发现的科学数据。他解释说,Vertex是一家总部位于波士顿的全球生物技术公司,致力于投资科学创新,为患有严重疾病的人创造变革性药物。
他们的已获批准的治疗方法帮助患者战胜囊性纤维化、镰状细胞病、β地中海贫血等疾病。然而,药物发现仍是一个巨大的挑战。它涉及研究数十亿可能的分子化合物,其中只有很小的一部分在经过数年的研究和临床试验后最终成为获批准的药物。
总的来说,整个行业在开发新的FDA批准的药物方面的成功率较低,平均需要13年的时间,花费超过10亿美元。由于患者迫切地等待新的治疗方法,Vertex旨在使用技术创新来加速发现过程,以匹配其科学创新。这一必要性使他们转向了Step Functions和Distributed Map来协调和扩展其数据处理能力。
[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)技术,例如图像分割(模型可被训练以识别感兴趣的生物区域),非常适用于高效处理大量图像数据。罗伯托展示了一个示例流程,科学家们通过手动标记实验中的图像部分来训练模型。一旦模型经过充分训练,便可应用于自动处理剩余图像。系统将汇总测量结果,如细胞数量和大小,以生成用于评估多达数万个图像的实验结果的报告。
起初,维特克斯公司使用Web服务器、批量处理队列、关系型数据库和缓存构建了这个内部系统。然而,静态资源分配在处理每个实验的数千张图像时导致了争用现象,从而降低了性能。由于工作量本质上是不确定的科学家活动峰值,因此他们希望通过提高并发性、吞吐量和大规模运行时的鲁棒性来解决这个问题。
新的架构将Web应用程序运行在亚马逊云科技的Fargate上,以实现容器化部署,将图像存储在S3中以实现持久性和可扩展性,使用Elasticache进行缓存,并利用Step Functions分布式映射核心图像处理工作流,以并行处理数以万计的图像。一个调度Lambda函数通过检索给定实验ID的所有图像来启动工作流。分布式映射将图像分散到Lambda函数以实现大规模的并行模型推断。最后,聚合结果写回原始数据库以供下游分析。
罗伯托分享了性能指标,显示新系统平均速度提高了11倍,效率提高了90%,并且在处理每个实验的数以万计的图像时,预计正常运行时间为99.9%。尽管团队确实需要学习新技能,如使用Amazon States Language定义工作流,以及克服一些早期限制,如相对较新的分布式映射功能的工具支持,但在吞吐量调整和大规模错误处理的鲁棒性方面的收益已经远远超过了这些暂时的障碍。
总的来说,亚当再次强调了在处理单个对象或数据记录方面已有经验的情况下,对于大量的内容(例如50万份文件或数万件图像),分布式映射是非常理想的选择。实际应用案例包括金融建模、安全扫描和大规模数据迁移。采用[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)方式可实现毫秒级的扩展速度、广泛的语言支持以及按需付费的价格策略,无论处理的是50万份发票还是进行实验批处理的数千份显微镜图像。他还提到了可用的培训资源和亚马逊云科技的优化工具,以便在大规模操作时优化Lambda函数。
联合演讲通过对概念的解释、现实世界的示例和基于结果的数据全面地概述了Step Functions的分布式映射。演讲者们有效地相互补充,结合高级的背景知识、具体的用例和技术实施方案来处理大量数据。他们表达的热情与观众的技术需求非常协调。毫无疑问,与会者对这种多功能的[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)工作流程工具如何能够为各种数据密集型工作负载提供大规模并行数据处理能力有了更清晰的认识。
**下面是一些演讲现场的精彩瞬间:**
领导者向与会者介绍了演讲的整体结构,首先概括了Step Functions和分布式映射的概念,接着邀请了Roberto分享Vertex制药公司如何运用这些技术。
![](https://d1trpeugzwbig5.cloudfront.net/API310-Scale_interactive_data_analysis_with_Step_Functions_Distributed_Map/images/rebranded/API310-Scale_interactive_data_analysis_with_Step_Functions_Distributed_Map_0.png)
领导者阐述了利用分布式处理方式高效处理海量数据的方法。
![](https://d1trpeugzwbig5.cloudfront.net/API310-Scale_interactive_data_analysis_with_Step_Functions_Distributed_Map/images/rebranded/API310-Scale_interactive_data_analysis_with_Step_Functions_Distributed_Map_1.png)
亚马逊云科技支持即时扩展的交互式数据处理工作负载,为用户带来高效的体验。
![](https://d1trpeugzwbig5.cloudfront.net/API310-Scale_interactive_data_analysis_with_Step_Functions_Distributed_Map/images/rebranded/API310-Scale_interactive_data_analysis_with_Step_Functions_Distributed_Map_2.png)
Step Functions的分布式映射功能允许用户根据需求配置批量大小,从而实现高效的数据处理。
![](https://d1trpeugzwbig5.cloudfront.net/API310-Scale_interactive_data_analysis_with_Step_Functions_Distributed_Map/images/rebranded/API310-Scale_interactive_data_analysis_with_Step_Functions_Distributed_Map_3.png)
一位科学家通过在样本图像上训练[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)模型,对实验结果进行了深入分析。
![](https://d1trpeugzwbig5.cloudfront.net/API310-Scale_interactive_data_analysis_with_Step_Functions_Distributed_Map/images/rebranded/API310-Scale_interactive_data_analysis_with_Step_Functions_Distributed_Map_4.png)
领导者回顾了过去在使用静态服务器集群系统时所面临的挑战,如应对尖峰工作负载和在性能与成本间找到平衡点等问题。
![](https://d1trpeugzwbig5.cloudfront.net/API310-Scale_interactive_data_analysis_with_Step_Functions_Distributed_Map/images/rebranded/API310-Scale_interactive_data_analysis_with_Step_Functions_Distributed_Map_5.png)
在完成主要演讲后,领导者开启了观众提问环节。
![](https://d1trpeugzwbig5.cloudfront.net/API310-Scale_interactive_data_analysis_with_Step_Functions_Distributed_Map/images/rebranded/API310-Scale_interactive_data_analysis_with_Step_Functions_Distributed_Map_6.png)
## 总结
本次演讲主要探讨了如何运用亚马逊云计算科技的Step Functions分布式映射功能来拓展互动式数据分析工作流。Vertex Pharmaceuticals公司的Roberto Eal分享了他们如何通过分布式映射加速药物发现的过程。在Vertex公司,科学家们的实验产生大量需要分析的显微镜图像,他们建立了一套系统,用于在样本图像上训练[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)模型并将这些模型应用到全自动图像分析中。然而,他们传统的基于静态服务器的系统在可扩展性和可靠性方面遇到了挑战。
通过采用Step Functions和Lambda重构其工作流,Vertex取得了显著成效。新的[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)系统能够并行处理图像批量处理,实现弹性扩展。平均而言,任务完成速度提升了11倍,成本降低了90%。此外,该系统更加稳定,并内置了对指标和错误的可视性。虽然在新服务使用过程中确实出现了一些初始问题,但这具有革命性的影响。
总之,Step Functions分布式映射在处理数据批处理工作流扩展方面的表现令人印象深刻。通过在数千个并行执行中协调Lambda函数,它实现了静态基础设施难以实现的实时处理。正如此类公司如Vertex所展示的那样,它们正在利用这一技术加速关键工作流并推动创新。
## 演讲原文
## 想了解更多精彩完整内容吗?立即访问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 余种核心云服务产品免费试用“")