完成匯入表映射配置後,需要基於計算源執行調度任務,同時進行ID Mapping計算。調度完成後,計算結果資料將存放在分析源中。
支援三種發起調度的方式:
手動調度:底表更新後,手工發起調度。
周期調度:以日或小時為周期,自動發起調度,適用於底表固定進行周期更新的情況。
觸發調度:通過介面發送調度請求,從而發起調度,適用於在底表的加工任務完成後調用介面觸發調度。
有一類通過API匯入的調度任務,建立者是API同步,其調度方式為周期調度或手動調度。支援查看執行記錄,支援其手動調度任務進行手動調度,但不支援其周期調度任務進行手動調度,不支援編輯、移除。
建立調度任務
由於每次調度時都需要對所有資料表涉及的使用者重新進行ID Mapping計算,為了避免頻繁佔用計算資源,建議您將所有資料表的調度建立為同一個任務。
建立手動調度任務
操作步驟:
選擇工作空間>組態管理>資料接入管理>資料匯入>調度任務。

單擊右上方建立調度任務。
在彈窗中填寫任務名稱,選擇要調度匯入的資料表,支援多選、全選。

調度頻次選擇手動調度。
單擊儲存,完成調度任務建立。
調度任務將加入工作清單,當需要調度時,單擊
表徵圖,即可手動發起一次調度。
建立周期調度任務
操作步驟:
選擇工作空間>組態管理>資料接入管理>資料匯入>調度任務。

單擊右上方建立調度任務。
在彈窗中填寫任務名稱,選擇要調度匯入的資料表,支援多選、全選。

調度頻次選擇日調度、小時調度,設定相應的執行循環。
單擊儲存,完成調度任務建立。
調度任務將加入工作清單,自動在指定的周期時間調度。
建立觸發調度任務
操作步驟:
選擇工作空間>組態管理>資料接入管理>資料匯入>調度任務。

單擊右上方建立調度任務。
在彈窗中填寫任務名稱,選擇要調度匯入的資料表,支援多選、全選。

調度頻次選擇觸發調度,下方將針對每張表產生一個帶token的觸發地址URL,請您單擊複製,儲存這些URL。
單擊儲存,完成調度任務建立。
調度任務將加入工作清單。當您需要調度時,可以通過這些URL發起調度,具體規則為:
在Dataphin、DataWorks或其他ETL工具的底表加工任務中,自行寫代碼調用此介面,或者通過webhook請求調用此介面。
Dataphin、DataWorks的指令碼樣本,請參見附錄:觸發調度指令碼樣本。
若多張表在同一個調度任務內,需要對每張表都通過對應的URL請求調度一次,當所有表都被觸發,調度任務才會執行調度。
在工作清單單擊編輯,可以查看各表的觸發狀態,已通過URL請求調度的表顯示為“已觸發”。若部分表顯示為“未觸發”,需要通過該表對應的URL請求調度,當全部表顯示為“已觸發”時,將開始執行調度。
在任務的調度過程中,再次收到的調度請求將被忽略。
編輯調度任務
單擊編輯,可以編輯調度任務,具體操作與建立時相同。從下次調度開始,將按照編輯後的設定執行調度。
手動調度
不僅手動調度可以手動發起調度,周期調度、觸發調度也支援手動發起調度。
單擊手動調度,即可手動發起一次調度。
查看執行結果
調度任務執行至少一次後,列表將顯示最近一次執行的狀態(執行成功/執行失敗)。
若執行失敗,可將滑鼠移動到執行失敗上方,介面將顯示失敗原因,協助您排查問題。

單擊執行記錄,可以進入執行記錄列表,查看該調度任務每一次執行的記錄與狀態,如下圖所示。
單擊
表徵圖,可展開某次執行調度包含的所有資料表的執行情況。
移除調度任務
選擇
>移除,確認刪除後,將刪除該調度任務,但仍保留通過該調度任務獲得的資料。
附錄:觸發調度指令碼樣本
下面提供Dataphin、DataWorks觸發匯入調度任務的指令碼樣本。
Dataphin
在Dataphin通過Shell周期任務觸發匯入調度任務,步驟如下:
添加沙箱白名單,將建立觸發調度任務時產生的所有觸發地址URL添加為要訪問的IP地址,具體操作請參見Dataphin添加沙箱白名單。
建立Shell周期任務,具體操作請參見建立SHELL任務。調度類型選擇周期任務。
如果同一個調度任務包含多張表,則會產生多個觸發地址URL,對應地需建立多個Shell周期任務。
Shell指令碼樣本如下:
#!/bin/bash # {觸發地址URL} 替換為觸發地址URL QA_TRIGGER_URL="{觸發地址URL}" echo $(date "+%Y-%m-%d %H:%M:%S") "QuickAudience Trigger scheduling Start." echo $(date "+%Y-%m-%d %H:%M:%S") "QuickAudience Trigger scheduling Url:" $QA_TRIGGER_URL result=$(curl -k -s ${QA_TRIGGER_URL}) if [ ! -n "$result" ]; then echo $(date "+%Y-%m-%d %H:%M:%S") "QuickAudience Trigger Failed" $result else echo $(date "+%Y-%m-%d %H:%M:%S") "QuickAudience Trigger scheduling Response:" $result echo $(date "+%Y-%m-%d %H:%M:%S") "QuickAudience Trigger scheduling End." fi(可選)您可以手動點擊執行Shell任務,測試是否能成功觸發匯入調度任務,觀察輸出日誌中是否有如下成功資訊:
QuickAudience Trigger scheduling Response: {"data":"true","errorCode":null,"errorDesc":null,"exStack":null,"opers":[],"solution":null,"success":true,"traceId":"0bc1409e16667784903588235e2ef1"}進行Shell任務調度配置,具體操作請參見調度配置。
單擊建立上遊依賴,關聯進行當前資料表資料產出的上遊依賴。當上遊依賴已產出資料,並且到達配置的調度時間時,將觸發Shell任務調度。
當匯入調度任務的所有觸發地址URL對應的Shell任務均已觸發時,將觸發匯入調度任務。
DataWorks
DataWorks支援Shell節點、PyODPS 3節點兩種方式觸發匯入調度任務。
Shell節點
在DataWorks通過Shell節點觸發匯入調度任務,步驟如下:
由於Shell節點需要使用獨享調度資源群組進行調度,請參照獨享調度資源群組進行配置。
否則Shell節點會調度失敗,顯示如下錯誤資訊:
curl: (1) Protocol https not supported or disabled in libcurl建立Shell節點,具體操作請參見Shell節點。
如果同一個調度任務包含多張表,則會產生多個觸發地址URL,對應地需建立多個Shell節點。
Shell指令碼樣本如下:
#!/bin/bash # {觸發地址URL} 替換為觸發地址URL QA_TRIGGER_URL="{觸發地址URL}" echo $(date "+%Y-%m-%d %H:%M:%S") "QuickAudience Trigger scheduling Start." echo $(date "+%Y-%m-%d %H:%M:%S") "QuickAudience Trigger scheduling Url:" $QA_TRIGGER_URL result=$(curl -k -s ${QA_TRIGGER_URL}) if [ ! -n "$result" ]; then echo $(date "+%Y-%m-%d %H:%M:%S") "QuickAudience Trigger Failed" $result else echo $(date "+%Y-%m-%d %H:%M:%S") "QuickAudience Trigger scheduling Response:" $result echo $(date "+%Y-%m-%d %H:%M:%S") "QuickAudience Trigger scheduling End." fi(可選)您可以手動點擊執行Shell節點,測試是否能成功觸發匯入調度任務,觀察輸出日誌中是否有如下成功資訊:
QuickAudience Trigger scheduling Response: {"data":"true","errorCode":null,"errorDesc":null,"exStack":null,"opers":[],"solution":null,"success":true,"traceId":"0bc1409e16667784903588235e2ef1"}進行Shell節點調度配置,具體操作請參見配置調度依賴。
如下圖所示,建立上遊依賴,關聯進行當前資料表資料產出的上遊節點。當上遊節點已產出資料,並且到達配置的調度時間時,將觸發Shell節點調度。

當匯入調度任務的所有觸發地址URL對應的Shell節點均已觸發時,將觸發匯入調度任務。
PyODPS 3節點
在DataWorks通過PyODPS 3節點觸發匯入調度任務,步驟如下:
PyODPS 3節點可使用公用資源群組或獨享調度資源群組進行調度。
建立PyODPS 3節點,具體操作請參見PyODPS 3節點。
如果同一個調度任務包含多張表,則會產生多個觸發地址URL,對應地需建立多個PyODPS 3節點。
Python 3指令碼樣本如下:
import requests from datetime import datetime # {觸發調度的地址} 替換為觸發調度的地址 QA_TRIGGER_URL = "{觸發調度的地址}" print(datetime.now().strftime("%Y-%m-%d %H:%M:%S") + " QuickAudience Trigger scheduling Start.") print(datetime.now().strftime("%Y-%m-%d %H:%M:%S") + " QuickAudience Trigger scheduling Url:" + QA_TRIGGER_URL) response = requests.get(QA_TRIGGER_URL) print(datetime.now().strftime("%Y-%m-%d %H:%M:%S") + " QuickAudience Trigger scheduling Response:" + response.text) print(datetime.now().strftime("%Y-%m-%d %H:%M:%S") + " QuickAudience Trigger scheduling End.")(可選)您可以手動點擊執行PyODPS 3節點,測試是否能成功觸發匯入調度任務,觀察輸出日誌中是否有如下成功資訊:
QuickAudience Trigger scheduling Response: {"data":"true","errorCode":null,"errorDesc":null,"exStack":null,"opers":[],"solution":null,"success":true,"traceId":"0bc1409e16667784903588235e2ef1"}進行PyODPS 3節點調度配置,具體操作請參見配置調度依賴。
如下圖所示,建立上遊依賴,關聯進行當前資料表資料產出的上遊節點。當上遊節點已產出資料,並且到達配置的調度時間時,將觸發PyODPS 3節點調度。

當匯入調度任務的所有觸發地址URL對應的PyODPS 3節點均已觸發時,將觸發匯入調度任務。