使用DataWorks来调度AnalyticDB任务
DataWorks作為阿里云上廣受歡迎的大數(shù)據(jù)開發(fā)調(diào)度服務(wù),最近加入了對(duì)于AnalyticDB的支持,意味著所有的AnalyticDB客戶可以獲得任務(wù)開發(fā)、任務(wù)依賴關(guān)系管理、任務(wù)調(diào)度、任務(wù)運(yùn)維等等全方位強(qiáng)大的能力,現(xiàn)在就給大家仔細(xì)介紹下如何使用DataWorks來調(diào)度AnalyticDB任務(wù)。
開通AnalyticDB
進(jìn)入阿里云分析型數(shù)據(jù)庫 MySQL版產(chǎn)品詳情頁,點(diǎn)擊免費(fèi)試用。最近上線了15天免費(fèi)試用活動(dòng),需要首先填寫申請(qǐng)表單,審批通過后即可享受免費(fèi)試用AnalyticDB活動(dòng)。進(jìn)入購買頁面,選擇好地域、可用區(qū)、ECU類型、ECU數(shù)量和數(shù)據(jù)庫名,點(diǎn)擊立即購買,稍等幾分鐘時(shí)間就可以開通AnalyticDB實(shí)例。
開通DataWorks
開通完AnalyticDB服務(wù)后,緊接著要開通DataWorks。選擇好region后點(diǎn)擊下一步。
填寫工作空間名稱,注意模式要改成“標(biāo)準(zhǔn)模式”,創(chuàng)建工作空間。
AnalyticDB中表和數(shù)據(jù)準(zhǔn)備
為了演示如何在DataWorks上調(diào)度AnalyticDB的任務(wù),我們后面會(huì)用到一些測(cè)試數(shù)據(jù),這里我們用著名的TPCH的測(cè)試數(shù)據(jù)集中的ORDERS表, 數(shù)據(jù)已經(jīng)提前存入表中。
前面開通成功后,我們就可以在AnalyticDB中找到數(shù)據(jù)庫,登陸數(shù)據(jù)庫后,創(chuàng)建ORDERS表,如下:
任務(wù)調(diào)度其中一個(gè)重要的功能是任務(wù)之間的依賴,為了演示這個(gè)功能,我們這里會(huì)在DataWorks里面創(chuàng)建兩個(gè)AnalyticDB任務(wù), 我們的表、任務(wù)之間的關(guān)系如下圖:
- 任務(wù)一: 我們從orders表清洗出已經(jīng)完成的訂單: o_orderstatus = 'F' , 并寫入 finished_orders 表。
- 任務(wù)二: 再從 finished_orders 表里面找出總價(jià)大于10000的訂單: o_totalprice > 10000, 并寫入 high_value_finished_orders 表。
在 DataWorks 上創(chuàng)建AnalyticDB任務(wù)
在開通了?DataWorks + AnalyticDB?的功能后,我們可以在DataWorks的數(shù)據(jù)開發(fā)IDE里面創(chuàng)建AnalyticDB的任務(wù)了,如下圖:
我們把第一個(gè)任務(wù)命名為:?finished_orders?, 點(diǎn)擊確定會(huì)進(jìn)入一個(gè)SQL編輯的頁面,要寫AnalyticDB SQL一定要告訴DataWorks我們寫的SQL運(yùn)行在哪個(gè)服務(wù)上,這個(gè)在DataWorks里面被包裝成了"數(shù)據(jù)源"的概念。
剛進(jìn)來的時(shí)候沒有數(shù)據(jù)源,點(diǎn)擊新建數(shù)據(jù)源
填寫必要的信息點(diǎn)擊確定完成。
DataWorks為了安全的考慮,對(duì)可以連接的服務(wù)進(jìn)行了安全控制,因此我們需要把我們要連的AnalyticDB數(shù)據(jù)庫的地址+端口加到白名單里面去,這個(gè)配置是在DataWorks工作空間的配置里面:
具體配置如下(需要換成你實(shí)際的域名+端口):
做了這么多之后,我們終于可以在編輯頁面看到AnalyticDB的數(shù)據(jù)源了,下面我們?cè)?finished_orders的任務(wù)里面填入如下SQL, 并點(diǎn)擊執(zhí)行:
如下圖:
重復(fù)上述步驟,我們創(chuàng)建第二個(gè)任務(wù): high_value_finished_orders
配置任務(wù)依賴
單個(gè)任務(wù)單次運(yùn)行沒什么太大意思,任務(wù)調(diào)度的核心在于多個(gè)任務(wù)按照指定的依賴關(guān)系在指定的時(shí)間進(jìn)行運(yùn)行,下面我們讓:?task_finished_orders?在每天半夜2點(diǎn)開始運(yùn)行:
high_value_finished_orders?在?finished_orders?成功運(yùn)行之后再運(yùn)行:
任務(wù)發(fā)布
任務(wù)配置好之后,就可以進(jìn)行任務(wù)的發(fā)布、運(yùn)維了。任務(wù)要發(fā)布首先必須提交:
提交之后,我們?cè)诖l(fā)布列表可以看到所有待發(fā)布的任務(wù)
選擇我們剛剛提交的兩個(gè)任務(wù),我們就可以發(fā)布了。在發(fā)布列表頁面可以查看我們剛剛的發(fā)布是否成功:
發(fā)布成功之后,我們就可以進(jìn)入任務(wù)運(yùn)維頁面查看我們的任務(wù),進(jìn)行各種運(yùn)維操作了。
總結(jié)
在這篇文章里面,我?guī)Т蠹乙黄痼w驗(yàn)了一下如何用DataWorks來開發(fā)、調(diào)度AnalyticDB的任務(wù),有了這個(gè)能力之后大家可以更方便地進(jìn)行每天任務(wù)的開發(fā)、運(yùn)維了。
原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的使用DataWorks来调度AnalyticDB任务的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里开源!轻量级深度学习端侧推理引擎 M
- 下一篇: 双11期间,请关爱程序员!