Lindorm計算引擎支援通過Data Management的任務編排功能來調度Lindorm Spark任務,並查看Lindorm Spark任務發布記錄和日誌,滿足使用者在資料生產、互動式分析、機器學習和圖計算等情境中的計算需求。本文介紹通過DMS管理Lindorm Spark作業的方法。
前提條件
已開通Data Management服務。
已開通計算引擎。如何開通,請參見開通與變更配置。
已完成作業開發。如何開發,請參見JAR作業開發實踐或Python作業開發實踐。
已將作業上傳至HDFS或OSS。如何上傳至HDFS,請參見通過控制台上傳檔案。
建立Lindorm Spark任務流
進入任務編排頁面。
DMS極簡模式:
在情境引導地區,單擊資料轉送與加工(DTS)。
在右側資料加工地區,單擊任務編排卡片。
DMS非極簡模式:在頂部功能表列中,選擇
。
在任務編排頁面,單擊新增任務流。
在新增任務流對話方塊中,輸入任務流名稱和描述,並單擊確認。
在左側任務類型列表中,拖拽Lindorm Spark任務節點到空白地區,並通過連線的方式定義任務節點之間的依賴關係。
配置Lindorm Spark任務節點。
雙擊Lindorm Spark任務節點或者單擊Lindorm Spark任務節點並選擇。
在開啟的任務節點頁面中,配置基礎參數和運行作業的自訂參數。
在基礎配置地區配置基礎參數,基礎參數說明如下表:
參數
說明
地區
選擇目標Lindorm執行個體所屬的地區。
Lindorm執行個體
選擇目標Lindorm執行個體ID。
任務類型
選擇Spark作業類型,支援以下兩種:
JAR
Python
SQL
在作業配置地區配置運行作業的自訂參數。以下列出不同的Spark作業配置模板和自訂參數說明。
JAR作業配置模板和自訂參數說明如下:
{ "mainResource" : "oss://path/to/your/file.jar", "mainClass" : "path.to.main.class", "args" : [ "arg1", "arg2" ], "configs" : { "spark.hadoop.fs.oss.endpoint" : "", "spark.hadoop.fs.oss.accessKeyId" : "", "spark.hadoop.fs.oss.accessKeySecret" : "", "spark.hadoop.fs.oss.impl" : "org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem", "spark.sql.shuffle.partitions" : "20" } }
參數
參數類型
是否必填
說明
樣本值
mainResource
String
是
JAR包儲存在HDFS或OSS的路徑。
JAR包儲存至HDFS:hdfs:///path/spark-examples_2.12-3.1.1.jar
JAR包儲存至OSS:oss://testBucketName/path/spark-examples_2.12-3.1.1.jar
mainClass
String
是
JAR作業的程式入口類。
com.aliyun.ldspark.SparkPi
args
Array
否
傳入mainClass參數。
["arg1", "arg2"]
configs
Json
否
Spark系統參數配置。此外,如果您已將作業上傳至OSS,則需要在此增加以下配置:
spark.hadoop.fs.oss.endpoint:儲存作業的OSS地址。
spark.hadoop.fs.oss.accessKeyId:通過阿里雲控制台建立的Access Key ID,擷取方法請參見建立AccessKey。
spark.hadoop.fs.oss.accessKeySecret:通過阿里雲控制台擷取Access Key Secret,擷取方法請參見建立AccessKey。
spark.hadoop.fs.oss.impl:訪問OSS的類。固定值為:org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem。
{ "spark.sql.shuffle.partitions": "200"}
Python作業配置模板和自訂參數說明如下:
{ "mainResource" : "oss://path/to/your/file.py", "args" : [ "arg1", "arg2" ], "configs" : { "spark.hadoop.fs.oss.endpoint" : "", "spark.hadoop.fs.oss.accessKeyId" : "", "spark.hadoop.fs.oss.accessKeySecret" : "", "spark.hadoop.fs.oss.impl" : "org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem", "spark.submit.pyFiles" : "oss://path/to/your/project_file.py,oss://path/to/your/project_module.zip", "spark.archives" : "oss://path/to/your/environment.tar.gz#environment", "spark.sql.shuffle.partitions" : "20" } }
參數
參數類型
是否必選
說明
樣本值
mainResource
String
是
Python檔案儲存體在OSS或者HDFS的路徑。
Python檔案儲存體至OSS:oss://testBucketName/path/spark-examples.py
Python檔案儲存體至HDFS:hdfs:///path/spark-examples.py
args
Array
否
傳入mainClass參數。
["arg1", "arg2"]
configs
Json
否
Spark系統參數配置。如果將作業上傳至OSS,需要在此配置以下參數:
spark.hadoop.fs.oss.endpoint:儲存作業的OSS地址。
spark.hadoop.fs.oss.accessKeyId:通過阿里雲控制台建立的Access Key ID,擷取方法請參見建立AccessKey。
spark.hadoop.fs.oss.accessKeySecret:通過阿里雲控制台擷取Access Key Secret,擷取方法請參見建立AccessKey。
spark.hadoop.fs.oss.impl:訪問OSS的類。固定值為:org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem。
{"spark.sql.shuffle.partitions": "200"}
SQL作業配置模板和自訂參數說明如下:
{ "mainResource" : "oss://path/to/your/file.sql", "configs" : { "spark.hadoop.fs.oss.endpoint" : "", "spark.hadoop.fs.oss.accessKeyId" : "", "spark.hadoop.fs.oss.accessKeySecret" : "", "spark.hadoop.fs.oss.impl" : "org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem", "spark.sql.shuffle.partitions" : "20" } }
參數
參數類型
是否必選
說明
樣本
mainResource
String
是
SQL檔案儲存體在OSS或者HDFS的路徑。
SQL檔案儲存體至OSS:oss://testBucketName/path/spark-examples.sql
SQL檔案儲存體至HDFS:hdfs:///path/spark-examples.sql
configs
Json
否
SQL作業的其他相關配置。
{ "spark.executor.memory" : "8g"}
完成以上配置後,單擊頁面左上方的試運行,檢查作業運行效果是否符合預期。
發布任務流。所有的任務節點配置完成後,單擊任務流名稱頁面左上方的發布。
查看任務流的發布記錄和日誌
在任務編排頁面單擊目標任務流名稱。
單擊任務流名稱頁面右上方的前往營運。
查看任務流的發布記錄和日誌。
查看任務流的發布記錄。在任務流資訊頁面,單擊發布列表頁簽可以查看任務流的發布記錄。
查看任務流的日誌。
在運行記錄頁簽左上方的下拉式清單中選擇定時觸發或者手動觸發,可以查看任務流中所有任務節點的詳細資料。
單擊任務節點名稱後面的查看,可以查看Lindorm Spark任務作業的提交日誌,擷取該任務節點的JobID和SparkUI。
說明如果任務提交失敗,請將JobID和SparkUI提供給工單處理人員並提交工單。
任務流進階配置
通過Data Management控制台對Lindorm Spark任務流進行相關配置,配置完成後需要重新發布任務流。
調度配置
根據業務需求配置相應的調度策略,Lindorm Spark任務流會根據該調度策略自動執行。配置方法如下:
在任務編排頁面單擊目標任務流名稱。
單擊任務流名稱頁面左下角的任務流資訊。
在右側調度配置地區,開啟開啟調度開關,配置調度策略,配置項說明如下表。
配置項
說明
調度類型
選擇調度類型:
周期調度:周期性調度任務,例如一周執行一次任務。
調度一次:在指定時間執行一次任務,僅需要配置執行任務的具體時間。
生效時間
選擇調度周期生效的區間,預設1970-01-01~9999-01-01,表示一直生效。
調度周期
選擇調度任務的周期:
小時:按設定的小時執行任務調度,需要配置定時調度。
日:按每日一次的頻率執行任務調度,需要配置每日調度的具體時間。
周:以周為周期,每個指定天執行一次任務調度,需要配置指定時間和具體時間。
月:以月為周期,每個指定天執行一次任務調度,需要配置指定時間和具體時間。
定時調度
提供了2種定時調度的方式:
固定間隔時間調度:
開始時間:執行任務的開始時間。
間隔時間:執行任務的間隔時間,單位為小時。
結束時間:執行任務的結束時間。
例如,配置開始時間為00:00、間隔時間為6小時、結束時間為20:59,系統將在0點、6點、12點、18點執行任務。
指定時間調度:選擇執行任務的目標時間點。
例如選擇和0小時和5小時,系統將在0點和5點執行任務。
指定時間
如果調度周期為周,選擇星期幾執行任務,支援多選。
如果調度周期為月,選擇每月幾號執行任務,支援多選。
具體時間
設定執行任務流的具體時間。
例如配置02:55,系統將在指定天的02時55分執行任務。
cron運算式
不需要手動設定,系統會根據您配置的周期、具體時間自動展現。
調度配置樣本:如果需要配置任務流在每天0點和12點進行調度,調度策略配置如下。
調度類型選擇周期調度。
調度周期選擇小時。
定時調度選擇指定時間,同時在指定時間列表中選擇0小時和12小時。
變數配置
對於周期調度的任務流,可以將調度時間作為參數傳遞給要執行的任務。例如:將業務時間bizdate
(已耗用時間的前一天)傳遞給任務節點,按照如下步驟配置時間變數。
在任務流名稱頁面,雙擊Lindorm Spark任務節點或者Lindorm Spark任務節點並選擇。
在右側功能表列選擇變數設定。
在節點變數或者任務流變數頁簽中添加變數名。
在作業配置地區中使用變數。更多變數請參見變數。
通知配置
如果開啟通知開關,系統會根據任務流執行的結果發送相應的通知訊息。開啟通知方法如下:
單擊任務流名稱頁面左下角的通知配置。
根據業務需求開啟對應的通知開關。
基本通知
成功通知:任務流執行成功發送通知資訊。
失敗通知:任務流執行失敗發送通知資訊。
逾時通知:任務流執行逾時發送通知資訊。
預警通知:任務即將開始時發送通知資訊。
可選:配置訊息接收人,請參見訊息通知管理。
互動式SQL
單擊首頁頁簽。
在左側導覽列,單擊建立執行個體。
在新增執行個體對話方塊中,選擇NoSQL資料庫分類中的Lindorm_Compute。
填寫Lindorm執行個體的執行個體地區、執行個體ID、資料庫帳號和資料庫密碼,並單擊提交。
在彈出的對話方塊中單擊確定,進入SQL編輯視窗。
在SQLConsole輸入SQL語句,單擊執行。
相關文檔
有關Data Management的任務編排功能,詳情請參見概述。