全部產品
Search
文件中心

AnalyticDB:Job型資源群組的優先順序隊列

更新時間:Aug 10, 2024

本文介紹設定湖倉版Job型資源群組的作業優先順序和查看優先順序的方法。

前提條件

  • AnalyticDB for MySQL叢集的核心版本為3.1.6.3及以上版本。

  • 已建立Job型資源群組,且提交作業時選擇在Job型資源群組中運行。

注意事項

暫不支援修改已提交(包含已提交未運行和已提交運行中)的作業的優先順序。

功能概述

作業優先順序指排隊中的作業被分配資源的優先順序。當湖倉版Job型資源群組中並發執行的作業較多時,作業運行需要的資源會大於資源群組的資源。AnalyticDB for MySQL湖倉版支援作業排隊能力,新提交的作業會處於提交中的狀態,不會失敗。

在一些業務情境中,對作業執行和結果產出的先後有要求,例如,關鍵計量的產出依賴上遊某個中間結果的產出時間,此時需要對上遊處理的作業設定高優先順序,保障該作業的資源。AnalyticDB for MySQL湖倉版Job型資源群組內提供了作業優先順序隊列的能力,您可以設定作業的優先順序,使不同作業進入不同的優先順序隊列(包括LOWEST隊列、LOW隊列、NORMAL隊列和HIGH隊列)。優先順序高的作業會先運行。

設定作業優先順序

作業優先順序取值:HIGH、NORMAL、LOW和LOWEST。未設定優先權的作業預設為NORMAL。

ETL查詢和普通查詢(SELECT)的優先順序為NORMAL。

不同的作業類型,作業優先順序的設定方法不同,設定作業優先順序的方法如下。

XIHE BSP設定作業優先順序

Hint方式: /*+ query_priority= <優先順序取值>*/

樣本:設定XIHE BSP作業優先順序為HIGH,使作業進入HIGH隊列。

/*+ query_priority=HIGH*/ SELECT * FROM test_table;

Spark SQL設定作業優先順序

SET方式:SET spark.adb.priority = <優先順序取值>

樣本:設定Spark SQL作業優先順序為LOW,使作業進入LOW隊列。

 SET spark.adb.priority = LOW;
 SELECT * FROM test_table;

Spark Batch設定作業優先順序

配置Config參數: "conf": { "spark.adb.priority": "<優先順序取值>"}

樣本:設定Spark Batch作業優先順序為HIGH,使作業進入HIGH隊列。

{
    "comments": [
        "-- Here is just an example of SparkPi. Modify the content and run your spark program."
    ],
    "args": [
        "1000"
    ],
    "file": "local:///tmp/spark-examples.jar",
    "name": "SparkPi",
    "className": "org.apache.spark.examples.SparkPi",
    "conf": {
        "spark.driver.resourceSpec": "medium",
        "spark.executor.instances": 2,
        "spark.executor.resourceSpec": "medium",
        "spark.adb.priority": "HIGH"
    }
}

查看作業優先順序

查看XIHE BSP和Spark SQL作業優先順序

登入雲原生資料倉儲AnalyticDB MySQL控制台,在作業開發>SQL開發頁面的執行記錄頁簽中查看作業的優先順序。

控制台優先順序..png

查看Spark Batch作業優先順序

登入雲原生資料倉儲AnalyticDB MySQL控制台,在作業開發>Spark Jar開發頁面的應用列表頁簽中查看作業的優先順序。

Jar優先順序..png