EMR Serverless 应用程序的作业并发和排队 - Amazon EMR

EMR Serverless 应用程序的作业并发和排队

从 Amazon EMR 7.0 及更高版本开始,您可以为应用程序指定作业运行队列超时和并发配置。指定此配置后,Amazon EMR Serverless 会根据应用程序的并发利用率排队等候作业并开始执行。例如,如果作业运行并发数为 10,则应用程序一次只能运行 10 个作业。剩余的作业排队,直到其中一个正在运行的作业终止。如果队列超时时间提前到达,则作业超时。有关更多信息,请参阅作业运行状态

并发和排队的主要好处

当需要提交大量作业时,作业并发和排队具有以下好处:

  • 有助于控制并发执行的作业,从而有效利用应用程序级别的容量限制。

  • 队列可能包含突发的作业提交,具有可配置的超时设置。

并发和排队入门

以下过程展示了实现并发和排队的几种不同方法。

使用 AWS CLI

  1. 创建具有队列超时和并发作业运行的 Amazon EMR Serverless 应用程序:

    aws emr-serverless create-application \ --release-label emr-7.0.0 \ --type SPARK \ --scheduler-configuration '{"maxConcurrentRuns": 1, "queueTimeoutMinutes": 30}'
  2. 更新应用程序以更改作业队列超时和并发:

    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 开始作业并发和排队:

  1. 前往 EMR Studio,选择创建一个发行版标签为 EMR-7.0.0 或更高版本的应用程序。

  2. 应用程序设置选项下,选择使用自定义设置选项。

  3. 其他配置下,有一个作业运行设置部分。选择启用作业并发选项以启用该功能。

  4. 选择后,您可以选择并发作业运行队列超时,分别配置并发作业运行的数量和队列超时。如果没有为这些设置输入值,则使用默认值。

  5. 选择创建应用程序,将在启用此功能的情况下创建应用程序。要进行验证,请转到控制面板,选择应用程序,然后在“属性”选项卡下检查,以确定该功能是否已启用。

配置后,您可以在启用此功能的情况下提交作业。

并发和排队注意事项

在实现并发和排队时,请注意以下几点:

  • Amazon EMR 7.0 及更高版本支持作业队列和并发。

  • 您可以更新处于已启动状态的应用程序并发。

  • maxConcurrentRuns 的有效范围为 1 到 1000,queueTimeoutMinutes 的有效范围为 15 到 720。

  • 一个账户最多可以有 2000 个作业处于已排队状态。

  • 并发和排队适用于批处理和流处理作业。不能用于交互式作业。有关更多信息,请参阅通过 EMR Studio 使用 EMR Serverless 运行交互式工作负载