從0到1搭建大數(shù)據(jù)平臺(tái)之調(diào)度系統(tǒng)

記得第一次參與大數(shù)據(jù)平臺(tái)從無(wú)到有的搭建,最開始任務(wù)調(diào)度就是用的Crontab,分時(shí)日月周,各種任務(wù)腳本配置在一臺(tái)主機(jī)上。crontab 使用非常方便,配置也很簡(jiǎn)單。剛開始任務(wù)很少,用著還可以,每天起床巡檢一下日志。隨著任務(wù)越來(lái)越多,出現(xiàn)了任務(wù)不能在原來(lái)計(jì)劃的時(shí)間完成,出現(xiàn)了上級(jí)任務(wù)跑完前,后面依賴的任務(wù)已經(jīng)起來(lái)了,這時(shí)候沒有數(shù)據(jù),任務(wù)就會(huì)報(bào)錯(cuò),或者兩個(gè)任務(wù)并行跑了,出現(xiàn)了錯(cuò)誤的結(jié)果。排查任務(wù)錯(cuò)誤原因越來(lái)麻煩,各種任務(wù)的依賴關(guān)系越來(lái)越負(fù)責(zé),最后排查任務(wù)問(wèn)題就行從一團(tuán)亂麻中,一根一根梳理出每天麻繩。crontab雖然簡(jiǎn)單,穩(wěn)定,但是隨著任務(wù)的增加和依賴關(guān)系越來(lái)越復(fù)雜,已經(jīng)完全不能滿足我們的需求了,這時(shí)候就需要建設(shè)自己的調(diào)度系統(tǒng)了。

成都創(chuàng)新互聯(lián)是專業(yè)的鄭州網(wǎng)站建設(shè)公司,鄭州接單;提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行鄭州網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

多個(gè)任務(wù)單元之間往往有著強(qiáng)依賴關(guān)系,上游任務(wù)執(zhí)行并成功,下游任務(wù)才可以執(zhí)行。比如上游任務(wù)1結(jié)束后拿到結(jié)果,下游任務(wù)2、任務(wù)3需結(jié)合任務(wù)1的結(jié)果才能執(zhí)行,因此下游任務(wù)的開始一定是在上游任務(wù)成功運(yùn)行拿到結(jié)果之后才可以開始。而為了保證數(shù)據(jù)處理結(jié)果的準(zhǔn)確性,就必須要求這些任務(wù)按照上下游依賴關(guān)系有序、高效的執(zhí)行,最終確保能按時(shí)正常生成業(yè)務(wù)指標(biāo)。

Apache Airflow是一種功能強(qiáng)大的工具,可作為任務(wù)的有向無(wú)環(huán)圖(DAG)編排、任務(wù)調(diào)度和任務(wù)監(jiān)控的工作流工具。Airflow在DAG中管理作業(yè)之間的執(zhí)行依賴,并可以處理作業(yè)失敗,重試和警報(bào)。開發(fā)人員可以編寫Python代碼以將數(shù)據(jù)轉(zhuǎn)換為工作流中的操作。

主要有如下幾種組件構(gòu)成:

具體執(zhí)行流程:

將各個(gè)任務(wù)操作組件拖放到工作區(qū),kettle支持各種常見的數(shù)據(jù)轉(zhuǎn)換。此外,用戶可以將Python,Java,JavaScript和SQL中的自定義腳本拖放到畫布上。kettle可以接受許多文件類型作為輸入,還可以通過(guò)JDBC,ODBC連接到40多個(gè)數(shù)據(jù)庫(kù),作為源或目標(biāo)。社區(qū)版本是免費(fèi)的,但提供的功能比付費(fèi)版本少。

XXL-JOB是一個(gè)分布式任務(wù)調(diào)度平臺(tái),其核心設(shè)計(jì)目標(biāo)是開發(fā)迅速、學(xué)習(xí)簡(jiǎn)單、輕量級(jí)、易擴(kuò)展。將調(diào)度行為抽象形成“調(diào)度中心”公共平臺(tái),而平臺(tái)自身并不承擔(dān)業(yè)務(wù)邏輯,“調(diào)度中心”負(fù)責(zé)發(fā)起調(diào)度請(qǐng)求;將任務(wù)抽象成分散的JobHandler,交由“執(zhí)行器”統(tǒng)一管理,“執(zhí)行器”負(fù)責(zé)接收調(diào)度請(qǐng)求并執(zhí)行對(duì)應(yīng)的JobHandler中業(yè)務(wù)邏輯;因此,“調(diào)度”和“任務(wù)”兩部分可以相互解耦,提高系統(tǒng)整體穩(wěn)定性和擴(kuò)展性。(后來(lái)才知道XXL是作者名字拼音首字母縮寫)

調(diào)度系統(tǒng)開源工具有很多,可以結(jié)合自己公司人員的熟悉程度和需求選擇合適的進(jìn)行改進(jìn)。

調(diào)度平臺(tái)其實(shí)需要解決三個(gè)問(wèn)題:任務(wù)編排、任務(wù)執(zhí)行和任務(wù)監(jiān)控。

調(diào)度平臺(tái)設(shè)計(jì)中還需要注意以下幾項(xiàng):

ETL 開發(fā)是數(shù)據(jù)工程師必備的技能之一,在數(shù)據(jù)倉(cāng)庫(kù)、BI等場(chǎng)景中起到重要的作用。但很多從業(yè)者連 ETL 對(duì)應(yīng)的英文是什么都不了解,更不要談對(duì) ETL 的深入解析,這無(wú)疑是非常不稱職的。做ETL 你可以用任何的編程語(yǔ)言來(lái)完成開發(fā),無(wú)論是 shell、python、java 甚至數(shù)據(jù)庫(kù)的存儲(chǔ)過(guò)程,只要它最終是讓數(shù)據(jù)完成抽?。‥)、轉(zhuǎn)化(T)、加載(L)的效果即可。由于ETL是極為復(fù)雜的過(guò)程,而手寫程序不易管理,所以越來(lái)越多的可視化調(diào)度編排工具出現(xiàn)了。

不管黑貓白貓,只要能逮住老鼠就是好貓。不管是哪種工具,只要具備高效運(yùn)行、易于維護(hù)兩個(gè)特點(diǎn),都是一款好工具。

歷史好文推薦你點(diǎn)的每個(gè)在看,我都認(rèn)真當(dāng)成了喜歡

網(wǎng)站名稱:從0到1搭建大數(shù)據(jù)平臺(tái)之調(diào)度系統(tǒng)
地址分享:http://muchs.cn/article10/sophdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序外貿(mào)建站、動(dòng)態(tài)網(wǎng)站搜索引擎優(yōu)化、商城網(wǎng)站、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名