EMR Serverless アプリケーションのジョブ同時実行とキューイング
Amazon EMR バージョン 7.0.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.0 以降でサポートされています。
STARTED 状態のアプリケーションの同時実行を更新できます。
maxConcurrentRuns
の有効な範囲は 1~1000 であり、queueTimeoutMinutes
の有効な範囲は 15~720 です。アカウントの QUEUED 状態には、最大 2,000 個のジョブを配置できます。
同時実行とキューイングは、バッチジョブとストリーミングジョブに適用されます。インタラクティブジョブには使用できません。詳細については、「Run interactive workloads with EMR Serverless through EMR Studio」を参照してください。