2026-01
引入作业排队以扩大您的 AWS Glue 工作负载 大数据博客
扩展您的 AWS Glue 工作负载的作业排队功能
by Noritaka Sekiyama Gyan Radhakrishnan Matt Su 和 Simon Kern 于 2024年9月3日 在 分析、公告 和 AWS Glue 发表的文章 永久链接评论 分享
重点总结
数据是推动业务发展的关键因素。随着数据量的显著增长,管理AWS Glue作业并发性变得尤为重要。AWS Glue的作业排队功能现已全面推出,旨在提高可扩展性并改善用户体验。用户可轻松启用作业排队,以便在服务配额限制时自动排队作业运行。数据是推动您业务发展的关键驱动力。随着时间的推移,数据量可能会显著增加,并且通常需要同时消耗大量计算资源。由于越来越多的应用程序同时需要访问数据,数据集成工作负载的并发性可能会不断增加。在 AWS 上,数以万计的客户使用 AWS Glue,这是一种无服务器的数据集成服务,用于跨多个数据源进行大规模的数据集成。可以通过计划或事件异步触发 AWS Glue 作业,也可以按需同步启动。
您的 AWS 帐户有配额,通常称为限制,这些限制是您 AWS 帐户允许的最大服务资源数量。AWS Glue 配额确保了 AWS Glue 资源的可用性,并防止了资源的意外过度配置。然而,对于大型或波动性工作负载,管理作业运行并发性或数据处理单元 (DPU) 以保持在服务配额内可能会颇具挑战。传统上,当您达到并发 Glue 作业运行的配额时,您的作业会立即失败。
今天,我们高兴地宣布 AWS Glue 作业排队功能的全面上线。作业排队功能提高了可扩展性,并改善了管理 AWS Glue 作业的客户体验。此新功能使您无需再管理 AWS Glue 作业运行的并发性或为了避免由于高并发而导致的作业失败而尝试重试。您只需启动作业,当作业运行处于 等待 状态时,AWS Glue 作业排队功能会尽可能自动错开作业。这增加了作业成功率,并改善了大并发工作负载的体验。
本文将演示作业排队如何帮助您扩展 Glue 工作负载以及作业排队的工作原理。
作业排队的使用案例和好处
以下是需要许多并发作业运行的常见数据集成使用案例:
使用案例描述多个数据源许多不同的数据源需要并行读取大型数据集多个大型数据集需要同时处理事件驱动的数据处理数据以事件驱动的方式处理,并且许多事件同时发生。AWS Glue 在每个区域和账户下的服务配额涉及并发使用:
每个帐户的最大并发作业运行数每个作业的最大并发作业运行数每个帐户的最大任务 DPU 数量您还可以配置个别作业的最大并发性。
在上述典型使用案例中,当您通过 StartJobRun API 或 AWS Glue 控制台运行作业时,可能会触及讨论过的任何地方定义的上限。如果出现这种情况,您的作业将立即因 AWS Glue API 端点返回的 ConcurrentRunsExceededException 错误而失败。
作业排队为这些典型用例提供帮助,无需强迫您管理所有作业运行之间的并发性。您不再需要在遇到 ConcurrentRunsExceededException时手动重试。当您达到限制时,作业排队会将作业运行排入队列,并在资源释放时自动重试作业运行。这简化了您的日常操作,减少了重试的延迟。它还允许您在 AWS Glue 作业上实现更大的扩展。
接下来的部分将介绍如何配置作业排队。
配置 Glue 作业的作业排队
要在 AWS Glue Studio 控制台上启用作业排队,请完成以下步骤:
打开 AWS Glue 控制台。选择 作业。选择您的作业。选择 作业详情 标签。对于 作业运行排队,选择 启用作业运行以便在由于服务配额限制而不能立即运行时排队。选择 保存。在接下来的部分,我们将描述作业排队的工作原理。
AWS Glue 作业如何与作业排队协同工作
在当前作业运行生命周期中,当作业启动时,会检查作业级别和帐户级别的限制,当达到这些限制时,作业将转入 失败 状态。启用作业排队后,作业运行状态将转为 等待 状态,而不是 失败。 等待 状态表示作业运行已排入队列待重试,因为达到限制或资源不可用。作业排队是另一种重试机制,除了客户指定的最大重试次数。
AWS Glue 作业排队将提高作业运行的成功率,并减少因为限制造成的失败,但并不保证作业运行成功。在重试运行开始时,限制和资源仍可能不可用。
以下截图显示两次作业运行处于 等待 状态:
以下限制涵盖在作业排队中:
每个帐户的最大并发作业运行数超限每个作业的最大并发作业运行数超限包括帐户级服务配额以及作业上配置的参数最大并发 DPU 超限由于 VPC 中 IP 地址耗尽而导致的资源不可用重试机制被配置为在 15 分钟内或 10 次尝试中尝试重试,以先到者为准。
鲸鱼加速器免费签到以下是启用作业排队时作业运行的状态转移图。
注意事项
请注意以下事项:
AWS Glue Flex 作业不受支持。启用作业排队后,同一作业的 MaxRetries 参数不可配置。结论
在本文中,我们描述了新的作业排队功能如何帮助您扩展 AWS Glue 作业工作负载。您可以立即为新作业或现有作业开始利用作业排队功能。我们期待听到您的反馈。
关于作者
Noritaka Sekiyama 是 AWS Glue 团队的首席大数据架构师。他在日本东京工作,负责构建帮助客户的软件工件。在业余时间,他喜欢骑公路车。
Gyan Radhakrishnan 是 AWS Glue 团队的软件开发工程师,致力于为数据密集型应用设计和构建端到端解决方案。
Simon Kern 是 AWS Glue 团队的软件开发工程师。他对无服务器技术、数据工程和构建优秀服务充满热情。
Dana Adylova 是 AWS Glue 团队的软件开发工程师,专注于为支持数据密集型应用开发软件。在业余时间,她喜欢编织和阅读科幻小说。
Matt Su 是 AWS Glue 团队的高级产品经理。他喜欢帮助客户利用其数据揭示洞察并做出更好的决策。在业余时间,他喜欢滑雪和园艺。