全部產品
Search
文件中心

E-MapReduce:任務優先順序

更新時間:Apr 21, 2026

當多個作業在同一隊列中同時申請資源時,您可以通過設定作業優先順序,保障高優先順序作業優先擷取資源。本文為您介紹如何為EMR Serverless Spark作業設定優先權。

前提條件

說明

任務優先順序功能僅限白名單隊列使用,需提交工單聯絡Serverless Spark團隊開通。

背景資訊

當多個作業在同一隊列中同時申請資源時,系統按照以下規則分配資源:

  • 優先順序排序:優先順序高的作業優先申請資源。

  • 資源申請條件:隊列空閑資源大於等於Driver所需資源時,作業成功申請資源;資源不足則進入排隊等待,不會阻塞其他可滿足的作業。

  • 動態資源繼承:啟用動態資源分派的作業,在運行中申請新增Executor時,繼承原作業的優先順序。

優先順序說明

  • 取值範圍:0~9 的整數,數值越大優先順序越高。

  • 預設值:未設定優先權時,預設值為 0。

  • 生效對象

    • 支援自訂設定:批任務、流任務、通過 Gateway 提交的 Batch/Session 任務。

    • 系統預設優先順序為 5(不支援自訂):會話資源、Livy Gateway、Kyuubi Gateway。

操作步驟

EMR Serverless Spark支援通過以下四種方式為作業設定優先權:

方式一:通過資料開發設定優先權

  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. 儲存並提交任務。

方式二:通過Gateway提交任務時設定優先權

通過Livy Gateway或Kyuubi Gateway提交任務時,可在Spark配置中添加優先順序參數。

  • Livy Gateway:在提交任務時,於Spark配置中添加:spark.emr.serverless.priority=8

  • Kyuubi Gateway:在提交任務時,於Spark配置中添加:spark.emr.serverless.priority=8

方式三:通過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

方式四:通過工作流程設定優先權

  • 批任務節點:繼承資料開發中Spark配置的優先順序設定值,無需額外配置。

  • SQL節點/Notebook節點:在節點的Spark配置中添加spark.emr.serverless.priority=7,然後儲存並提交工作流程。