Oracle節(jié)點(diǎn)
DataWorks的Oracle節(jié)點(diǎn)可進(jìn)行Oracle任務(wù)的開發(fā)和周期性調(diào)度,以及與其他作業(yè)的集成操作。本文為您介紹使用Oracle節(jié)點(diǎn)進(jìn)行任務(wù)開發(fā)的主要流程。
背景信息
Oracle是用于存儲(chǔ)和處理數(shù)據(jù)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),為您提供可靠、高效且安全的數(shù)據(jù)管理和分析服務(wù)。更多介紹請參見Oracle。
前提條件
已創(chuàng)建業(yè)務(wù)流程。
數(shù)據(jù)開發(fā)(DataStudio)基于業(yè)務(wù)流程執(zhí)行不同引擎的具體開發(fā)操作,因此,創(chuàng)建節(jié)點(diǎn)前需先創(chuàng)建業(yè)務(wù)流程,操作詳情請參見創(chuàng)建業(yè)務(wù)流程。
已創(chuàng)建Oracle數(shù)據(jù)源。
您需先將您的Oracle數(shù)據(jù)庫創(chuàng)建為DataWorks的Oracle數(shù)據(jù)源,才可通過該數(shù)據(jù)源訪問相應(yīng)數(shù)據(jù)庫的數(shù)據(jù)。詳情請參見Oracle數(shù)據(jù)源。
說明Oracle節(jié)點(diǎn)僅支持使用JDBC連接串方式創(chuàng)建的Oracle數(shù)據(jù)源。
(可選,RAM賬號需要)進(jìn)行任務(wù)開發(fā)的RAM賬號已被添加至對應(yīng)工作空間中,并具有開發(fā)或空間管理員(權(quán)限較大,謹(jǐn)慎添加)角色權(quán)限。添加成員并授權(quán),詳情請參見為工作空間添加空間成員。
步驟一:創(chuàng)建Oracle節(jié)點(diǎn)
進(jìn)入數(shù)據(jù)開發(fā)頁面。
登錄DataWorks控制臺,切換至目標(biāo)地域后,單擊左側(cè)導(dǎo)航欄的 ,在下拉框中選擇對應(yīng)工作空間后單擊進(jìn)入數(shù)據(jù)開發(fā)。
右鍵單擊目標(biāo)業(yè)務(wù)流程,選擇
。在新建節(jié)點(diǎn)對話框輸入節(jié)點(diǎn)名稱,單擊確認(rèn)。節(jié)點(diǎn)創(chuàng)建完成,您可在節(jié)點(diǎn)中進(jìn)行對應(yīng)任務(wù)的開發(fā)與配置。
步驟二:開發(fā)Oracle任務(wù)
(可選)選擇Oracle數(shù)據(jù)源
如果您的工作空間創(chuàng)建了多個(gè)Oracle數(shù)據(jù)源,則需先在Oracle節(jié)點(diǎn)編輯頁面選擇合適的數(shù)據(jù)源。如果僅創(chuàng)建了一個(gè)Oracle數(shù)據(jù)源,則默認(rèn)使用該數(shù)據(jù)源進(jìn)行開發(fā)操作。
Oracle節(jié)點(diǎn)僅支持使用JDBC連接串方式創(chuàng)建的Oracle數(shù)據(jù)源。
開發(fā)SQL代碼:簡單示例
在Oracle節(jié)點(diǎn)的代碼編輯區(qū)域編寫要執(zhí)行的任務(wù)。示例查詢當(dāng)前用戶有權(quán)訪問的所有表的基本信息。代碼如下:
SELECT * FROM ALL_TABLES;
開發(fā)SQL代碼:使用調(diào)度參數(shù)
DataWorks提供的調(diào)度參數(shù)可實(shí)現(xiàn)周期調(diào)度場景下代碼動(dòng)態(tài)入?yún)ⅲ稍诠?jié)點(diǎn)任務(wù)中通過${變量名}
的方式定義代碼中的變量,并在節(jié)點(diǎn)編輯頁面右側(cè)導(dǎo)航欄的調(diào)度配置>調(diào)度參數(shù),為該變量賦值。調(diào)度參數(shù)支持的格式及配置詳情,請參見調(diào)度參數(shù)支持的格式、配置并使用調(diào)度參數(shù)。
示例:查詢上個(gè)月至今創(chuàng)建的表的所有者、表名和創(chuàng)建日期,其中調(diào)度參數(shù)a取值為$[add_months(yyyymm,-1)](表示上個(gè)月)。
代碼如下。
SELECT owner, object_name, created
FROM all_objects
WHERE object_type = 'TABLE' AND created >= TO_TIMESTAMP('${a}', 'YYYY-MM-DD');
步驟三:配置任務(wù)調(diào)度
如您需要周期性執(zhí)行創(chuàng)建的節(jié)點(diǎn)任務(wù),可單擊節(jié)點(diǎn)編輯頁面右側(cè)的調(diào)度配置,根據(jù)業(yè)務(wù)需求配置該節(jié)點(diǎn)任務(wù)的調(diào)度信息。配置詳情請參見任務(wù)調(diào)度屬性配置概述。
您需要設(shè)置節(jié)點(diǎn)的重跑屬性和依賴的上游節(jié)點(diǎn),才可以提交節(jié)點(diǎn)。
步驟四:調(diào)試任務(wù)代碼
您可根據(jù)需要執(zhí)行如下調(diào)試操作,查看任務(wù)是否符合預(yù)期。
(可選)選擇運(yùn)行資源組、賦值自定義參數(shù)取值。
單擊工具欄的圖標(biāo),在參數(shù)對話框選擇調(diào)試運(yùn)行需使用的調(diào)度資源組。
如您的任務(wù)代碼中有使用調(diào)度參數(shù)變量,可在此處為變量賦值,用于調(diào)試。參數(shù)賦值邏輯,詳情請參見任務(wù)調(diào)試流程。
保存并運(yùn)行SQL語句。
單擊工具欄的圖標(biāo),保存編寫的SQL語句,單擊圖標(biāo),運(yùn)行創(chuàng)建的SQL任務(wù)。
(可選)冒煙測試。
如您希望在開發(fā)環(huán)境進(jìn)行冒煙測試,查看調(diào)度節(jié)點(diǎn)任務(wù)的執(zhí)行是否符合預(yù)期,則可在節(jié)點(diǎn)提交時(shí),或節(jié)點(diǎn)提交后執(zhí)行冒煙測試,操作詳情請參見執(zhí)行冒煙測試。
步驟五:提交發(fā)布任務(wù)
節(jié)點(diǎn)任務(wù)配置完成后,需執(zhí)行提交發(fā)布操作,提交發(fā)布后節(jié)點(diǎn)即會(huì)根據(jù)調(diào)度配置內(nèi)容進(jìn)行周期性運(yùn)行。
單擊工具欄中的圖標(biāo),保存節(jié)點(diǎn)。
單擊工具欄中的圖標(biāo),提交節(jié)點(diǎn)任務(wù)。
提交時(shí)需在提交對話框中輸入變更描述,并根據(jù)需要選擇是否在節(jié)點(diǎn)提交后執(zhí)行代碼評審。
說明您需設(shè)置節(jié)點(diǎn)的重跑屬性和依賴的上游節(jié)點(diǎn),才可提交節(jié)點(diǎn)。
代碼評審可對任務(wù)的代碼質(zhì)量進(jìn)行把控,防止由于任務(wù)代碼有誤,未經(jīng)審核直接發(fā)布上線后出現(xiàn)任務(wù)報(bào)錯(cuò)。如進(jìn)行代碼評審,則提交的節(jié)點(diǎn)代碼必須通過評審人員的審核才可發(fā)布,詳情請參見代碼評審。
如您使用的是標(biāo)準(zhǔn)模式的工作空間,任務(wù)提交成功后,需單擊節(jié)點(diǎn)編輯頁面右上方的發(fā)布,將該任務(wù)發(fā)布至生產(chǎn)環(huán)境執(zhí)行,操作請參見發(fā)布任務(wù)。
后續(xù)步驟
任務(wù)運(yùn)維:任務(wù)提交發(fā)布后,會(huì)基于節(jié)點(diǎn)的配置周期性運(yùn)行,您可單擊節(jié)點(diǎn)編輯界面右上角的運(yùn)維,進(jìn)入運(yùn)維中心查看周期任務(wù)的調(diào)度運(yùn)行情況。詳情請參見查看并管理周期任務(wù)。