EMR Serverless 应用程序的作业并发和排队
从 Amazon EMR 7.0 及更高版本开始,您可以为应用程序指定作业运行队列超时和并发配置。指定此配置后,Amazon EMR Serverless 会根据应用程序的并发利用率排队等候作业并开始执行。例如,如果作业运行并发数为 10,则应用程序一次只能运行 10 个作业。剩余的作业排队,直到其中一个正在运行的作业终止。如果队列超时时间提前到达,则作业超时。有关更多信息,请参阅作业运行状态。
并发和排队的主要好处
当需要提交大量作业时,作业并发和排队具有以下好处:
有助于控制并发执行的作业,从而有效利用应用程序级别的容量限制。
队列可能包含突发的作业提交,具有可配置的超时设置。
并发和排队入门
以下过程展示了实现并发和排队的几种不同方法。
使用 AWS CLI
创建具有队列超时和并发作业运行的 Amazon EMR Serverless 应用程序:
aws emr-serverless create-application \ --release-label emr-7.0.0 \ --type SPARK \ --scheduler-configuration '{"maxConcurrentRuns": 1, "queueTimeoutMinutes": 30}'
更新应用程序以更改作业队列超时和并发:
aws emr-serverless update-application \ --application-id
application-id
\ --scheduler-configuration '{"maxConcurrentRuns": 5, "queueTimeoutMinutes": 30}'注意
您可以更新现有应用程序以启用作业并发和排队。为此,应用程序的发行版标签必须为 emr-7.0.0 或更高版本。
使用 AWS Management Console
以下步骤展示了如何使用 AWS Management Console 开始作业并发和排队:
前往 EMR Studio,选择创建一个发行版标签为 EMR-7.0.0 或更高版本的应用程序。
在应用程序设置选项下,选择使用自定义设置选项。
在其他配置下,有一个作业运行设置部分。选择启用作业并发选项以启用该功能。
选择后,您可以选择并发作业运行和队列超时,分别配置并发作业运行的数量和队列超时。如果没有为这些设置输入值,则使用默认值。
选择创建应用程序,将在启用此功能的情况下创建应用程序。要进行验证,请转到控制面板,选择应用程序,然后在“属性”选项卡下检查,以确定该功能是否已启用。
配置后,您可以在启用此功能的情况下提交作业。
并发和排队注意事项
在实现并发和排队时,请注意以下几点:
Amazon EMR 7.0 及更高版本支持作业队列和并发。
您可以更新处于已启动状态的应用程序并发。
maxConcurrentRuns
的有效范围为 1 到 1000,queueTimeoutMinutes
的有效范围为 15 到 720。一个账户最多可以有 2000 个作业处于已排队状态。
并发和排队适用于批处理和流处理作业。不能用于交互式作业。有关更多信息,请参阅通过 EMR Studio 使用 EMR Serverless 运行交互式工作负载。