すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:ジョブの優先度

最終更新日:Apr 21, 2026

同じキュー内の複数のジョブが同時にリソースをリクエストする場合、ジョブの優先度を設定することで、優先度の高いジョブが先にリソースを取得できます。このトピックでは、EMR Serverless Spark ジョブの優先度を設定する方法について説明します。

前提条件

  • EMR Serverless Spark ワークスペースを作成済みであること。詳細については、「ワークスペースの作成」をご参照ください。

説明

ジョブの優先度機能は、許可リストに登録されたキューでのみ利用可能です。この機能を有効にするには、EMR Serverless Spark チームにチケットを送信してください。

背景情報

同じキュー内の複数のジョブが同時にリソースをリクエストする場合、システムは以下のルールに基づいてリソースを割り当てます。

  • 優先度スケジューリング: 優先度の高いジョブが先にリソースを取得します。

  • リソースリクエストの条件: ジョブは、キューの利用可能なリソースが、そのドライバーが必要とするリソース以上である場合にのみリソースを取得できます。リソースが不足している場合、ジョブはキューで待機し、リソース要件を満たす他のジョブをブロックしません。

  • 動的な優先度の継承: ジョブで動的リソース割り当てが有効になっている場合、ランタイム中にリクエストされる新しいエグゼキュータは、元のジョブの優先度を継承します。

優先度の詳細

  • 値の範囲: 0 から 9 までの整数。値が大きいほど優先度が高くなります。

  • デフォルト値: 優先度を設定しない場合、デフォルト値は 0 です。

  • 適用対象

    • カスタマイズ可能な優先度: バッチジョブ、ストリーミングジョブ、およびゲートウェイ経由で送信されるバッチジョブまたはセッションジョブ。

    • システムデフォルトの優先度 5 (カスタマイズはサポートされていません): セッションリソース、Livy ゲートウェイ、および Kyuubi ゲートウェイ。

操作手順

EMR Serverless Spark では、ジョブの優先度を設定するために、以下の 4 つの方法をサポートしています。

方法 1:データ開発で優先度を設定

  1. E-MapReduce コンソールにログインします。

    1. 左側のナビゲーションウィンドウで、[EMR Serverless] > [Spark] を選択します。

    2. [Spark] ページで、対象のワークスペースの名前をクリックします。

    3. [EMR Serverless Spark] ページで、左側のナビゲーションウィンドウの [データ開発] をクリックします。

  2. バッチジョブまたはストリーミングジョブを作成または編集します。

  3. ジョブの [Spark 構成] セクションで、次の構成を追加します: spark.emr.serverless.priority=9

    この例では、9 が優先度の値です。有効な値の範囲は 0 から 9 です。ビジネスニーズに基づいて値を設定してください。

  4. ジョブを保存して送信します。

方法 2:ゲートウェイ経由で優先度を設定

Livy ゲートウェイまたは Kyuubi ゲートウェイ経由でジョブを送信する際に、Spark 構成に優先度パラメーターを追加できます。

  • Livy ゲートウェイ: ジョブの送信時に、Spark 構成に次のパラメーターを追加します: spark.emr.serverless.priority=8

  • Kyuubi ゲートウェイ: ジョブの送信時に、Spark 構成に次のパラメーターを追加します: spark.emr.serverless.priority=8

方法 3:spark-submit で優先度を設定

spark-submit コマンドを使用してジョブを送信する際に、`--conf` パラメーターで優先度構成を追加します。

spark-submit \
  --master spark://<gateway-endpoint> \
  --conf spark.emr.serverless.priority=6 \
  --class org.apache.spark.examples.SparkPi \
  s3://your-bucket/spark-examples.jar 100

方法 4:ワークフローで優先度を設定

  • バッチジョブノード: このノードは、データ開発内の対応するジョブの Spark 構成で設定された優先度を継承します。追加の構成は不要です。

  • SQL ノードまたはノートブックノード: ノードの Spark 構成に、パラメーター spark.emr.serverless.priority=7 を追加します。その後、ワークフローを保存して送信します。