EMR Serverless アプリケーションのジョブ同時実行とキューイング - Amazon EMR

EMR Serverless アプリケーションのジョブ同時実行とキューイング

Amazon EMR バージョン 7.0.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.0 以降でサポートされています。

  • STARTED 状態のアプリケーションの同時実行を更新できます。

  • maxConcurrentRuns の有効な範囲は 1~1000 であり、queueTimeoutMinutes の有効な範囲は 15~720 です。

  • アカウントの QUEUED 状態には、最大 2,000 個のジョブを配置できます。

  • 同時実行とキューイングは、バッチジョブとストリーミングジョブに適用されます。インタラクティブジョブには使用できません。詳細については、「Run interactive workloads with EMR Serverless through EMR Studio」を参照してください。