AWS推出Step Functions分布式映射功能,用于大规模并行数据处理

AWS 推出 Step Functions 分布式地图功能

AWS 最近宣布了 Step Functions 的分布式地图功能,这是一个用于大规模并行数据处理的解决方案。该功能针对 S3 进行了优化,主要服务于交互式和高并行的无服务器数据处理工作流。

分布式地图状态的新特性

新的 分布式地图状态 允许编写 Step Functions 来协调大规模工作负载,例如在 S3 上迭代数百万个对象(如日志、图像或 CSV 文件)。之前 AWS 支持 Step Functions 的 地图状态 来对数据集中的多个条目执行相同的处理步骤,但并行迭代次数限制在 40 次。

AWS 首席开发者倡导者 Sébastien Stormacq 解释

Step Functions 分布式地图支持的最大并发量高达 10,000 次并行执行,远超许多其他 AWS 服务支持的并发量。您可以使用分布式地图的最大并发功能来确保不超过下游服务的并发量。在使用其他服务时,需要考虑两个因素:首先,服务为您的账户支持的最大并发量;其次,突发和逐步增加速率。

AWS 建议在协调大规模并行工作负载时使用分布式模式的地图状态,适用于数据集大于 256 KB、执行事件历史记录超过 25,000 条或需要超过 40 次并行迭代的情况。

用户反馈与案例

云专家和 AWS Serverless Hero Ben Kehoe 发推 表示:

Step Functions 分布式地图非常有用。它可以遍历大量 S3 对象并对它们应用 Lambda 处理!我唯一的抱怨是这种全新的语法被放在了现有的地图状态中,而不是作为一种新的状态类型。

AWS 解决方案架构师 Brian Zambrano 创建了一个 SAM 应用程序,展示了如何在 100 秒内处理 560K 个 CSV 文件。一些用户指出新功能与现有 AWS 服务(如无服务器数据集成服务 Glue、集群平台 EMRS3 批量操作)之间存在重叠。Stormacq 区分了这些使用场景:

数据科学家和数据工程师使用 AWS Glue 和 EMR 处理大量数据,而应用程序开发者将使用 Step Functions 将无服务器数据处理集成到他们的应用程序中。系统管理员和 IT 运维团队可能会使用 Amazon S3 批量操作进行单步 IT 自动化操作,例如复制、标记或更改数十亿个 S3 对象的权限。

分布式地图在读取 1 亿项后停止,并支持最大 10GB 的 JSON 或 CSV 文件。Dynobase 创始人 Rafal Wilinski 分享了一个 基于 CDK 的迁移框架概念验证,利用了新功能,并 评论

Step Functions 分布式地图非常棒。结合 DynamoDB 并行扫描,它们可以实现极快的全表数据迁移和转换。

定价与可用性

定价 基于状态转换,起价为每 1,000 次转换 0.025 美元。AWS 表示,对于相同数量的迭代,使用分布式地图和标准工作流的组合相比现有的内联地图将减少成本。

新功能已在部分 AWS 区域普遍可用,包括俄亥俄州、北弗吉尼亚州、新加坡、法兰克福和爱尔兰。

阅读 41
0 条评论