DataWorks的Oracle節點可進行Oracle任務的開發和周期性調度,以及與其他作業的整合操作。本文為您介紹使用Oracle節點進行任務開發的主要流程。
背景資訊
Oracle是用於儲存和處理資料的關係型資料庫管理系統(RDBMS),為您提供可靠、高效且安全的資料管理和分析服務。更多介紹請參見Oracle。
前提條件
已建立商務程序。
資料開發(DataStudio)基於商務程序執行不同引擎的具體開發操作,因此,建立節點前需先建立商務程序,操作詳情請參見建立商務程序。
已建立Oracle資料來源。
您需先將您的Oracle資料庫建立為DataWorks的Oracle資料來源,才可通過該資料來源訪問相應資料庫的資料。詳情請參見Oracle資料來源。
說明Oracle節點僅支援使用JDBC串連串方式建立的Oracle資料來源。
(可選,RAM帳號需要)進行任務開發的RAM帳號已被添加至對應工作空間中,並具有開發或空間管理員(許可權較大,謹慎添加)角色許可權。新增成員並授權,詳情請參見為工作空間增加空間成員。
步驟一:建立Oracle節點
進入資料開發頁面。
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的 ,在下拉框中選擇對應工作空間後單擊進入資料開發。
按右鍵目標商務程序,選擇
。在建立節點對話方塊輸入節點名稱,單擊確認。節點建立完成,您可在節點中進行對應任務的開發與配置。
步驟二:開發Oracle任務
(可選)選擇Oracle資料來源
如果您的工作空間建立了多個Oracle資料來源,則需先在Oracle節點編輯頁面選擇合適的資料來源。如果僅建立了一個Oracle資料來源,則預設使用該資料來源進行開發操作。
Oracle節點僅支援使用JDBC串連串方式建立的Oracle資料來源。
開發SQL代碼:簡單樣本
在Oracle節點的代碼編輯地區編寫要執行的任務。樣本查詢目前使用者有權訪問的所有表的基本資料。代碼如下:
SELECT * FROM ALL_TABLES;
開發SQL代碼:使用調度參數
DataWorks提供的調度參數可實現周期調度情境下代碼動態入參,您可在節點任務中通過${變數名}
的方式定義代碼中的變數,並在節點編輯頁面右側導覽列的調度配置>調度參數,為該變數賦值。調度參數支援的格式及配置詳情,請參見調度參數支援的格式、配置並使用調度參數。
樣本:查詢上個月至今建立的表的所有者、表名和建立日期,其中調度參數a取值為$[add_months(yyyymm,-1)](表示上個月)。
代碼如下。
SELECT owner, object_name, created
FROM all_objects
WHERE object_type = 'TABLE' AND created >= TO_TIMESTAMP('${a}', 'YYYY-MM-DD');
步驟三:配置任務調度
如您需要周期性執行建立的節點任務,可單擊節點編輯頁面右側的調度配置,根據業務需求配置該節點任務的調度資訊。配置詳情請參見任務調度屬性配置概述。
您需要設定節點的重跑屬性和依賴的上遊節點,才可以提交節點。
步驟四:調試任務代碼
您可根據需要執行如下調試操作,查看任務是否符合預期。
(可選)選擇運行資源群組、賦值自訂參數取值。
單擊工具列的表徵圖,在參數對話方塊選擇調試運行需使用的調度資源群組。
如您的任務代碼中有使用調度參數變數,可在此處為變數賦值,用於調試。參數賦值邏輯,詳情請參見任務調試流程。
儲存並運行SQL語句。
單擊工具列的表徵圖,儲存編寫的SQL語句,單擊表徵圖,運行建立的SQL任務。
(可選)煙霧測試 (Smoke Test)。
如您希望在開發環境進行煙霧測試 (Smoke Test),查看調度節點任務的執行是否符合預期,則可在節點提交時,或節點提交後執行煙霧測試 (Smoke Test),操作詳情請參見執行煙霧測試 (Smoke Test)。
步驟五:提交發布任務
節點任務配置完成後,需執行提交發佈動作,提交發布後節點即會根據調度配置內容進行周期性運行。
單擊工具列中的表徵圖,儲存節點。
單擊工具列中的表徵圖,提交節點任務。
提交時需在提交對話方塊中輸入變更描述,並根據需要選擇是否在節點提交後執行程式碼檢閱。
說明您需設定節點的重跑屬性和依賴的上遊節點,才可提交節點。
程式碼檢閱可對任務的代碼品質進行把控,防止由於任務代碼有誤,未經審核直接發布上線後出現任務報錯。如進行程式碼檢閱,則提交的節點代碼必須通過評審人員的審核才可發布,詳情請參見程式碼檢閱。
如您使用的是標準模式的工作空間,任務提交成功後,需單擊節點編輯頁面右上方的發布,將該任務發布至生產環境執行,操作請參見發布任務。
後續步驟
任務營運:任務提交發布後,會基於節點的配置周期性運行,您可單擊節點編輯介面右上方的營運,進入營運中心查看周期任務的調度運行情況。詳情請參見查看並管理周期任務。