本文介紹設定湖倉版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開發頁面的執行記錄頁簽中查看作業的優先順序。
查看Spark Batch作業優先順序
登入雲原生資料倉儲AnalyticDB MySQL控制台,在作業開發>Spark Jar開發頁面的應用列表頁簽中查看作業的優先順序。