ETL調(diào)度系統(tǒng)及常見工具對(duì)比:Azkaban、Oozie、數(shù)棲云-創(chuàng)新互聯(lián)

最近遇到了很多正在研究ETL及其工具的同學(xué)向我們抱怨:同樣都在用 Kettle ,起點(diǎn)明明沒差異,但為什么別人ETL做的那么快那么好,自己卻不斷掉坑? 

創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)鷹手營(yíng)子,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792

其實(shí),類似于像 Kettle 這樣開源的工具,已經(jīng)覆蓋了大部分日常工作所需的功能了,直接部署一套就能夠解決企業(yè)基本的需求。但在實(shí)際使用的過程中我們也會(huì)發(fā)現(xiàn),kettle 如同是一個(gè)出場(chǎng)自帶電話短信功能的智能手機(jī),少了功能各異的智能 App 的配合,和只能接打電話的老年機(jī)也沒什么不同。

今天我們就先對(duì)其中一個(gè)比較火熱的“App”——調(diào)度工具,做一個(gè)簡(jiǎn)單的評(píng)測(cè)對(duì)比,幫助大家快速解鎖用開源工具做 ETL 的新姿勢(shì)。

一、為什么需要調(diào)度系統(tǒng)?

開局我們先掃盲。

我們都知道大數(shù)據(jù)的計(jì)算、分析和處理,一般由多個(gè)任務(wù)單元組成(Hive、Sparksql、Spark、Shell等),每個(gè)任務(wù)單元完成特定的數(shù)據(jù)處理邏輯。

多個(gè)任務(wù)單元之間往往有著強(qiáng)依賴關(guān)系,上游任務(wù)執(zhí)行并成功,下游任務(wù)才可以執(zhí)行。比如上游任務(wù)結(jié)束后拿到 A 結(jié)果,下游任務(wù)需結(jié)合 A 結(jié)果才能產(chǎn)出 B 結(jié)果,因此下游任務(wù)的開始一定是在上游任務(wù)成功運(yùn)行拿到結(jié)果之后才可以開始。

而為了保證數(shù)據(jù)處理結(jié)果的準(zhǔn)確性,就必須要求這些任務(wù)按照上下游依賴關(guān)系有序、高效的執(zhí)行。一個(gè)較為基礎(chǔ)的處理方式是,預(yù)估出每個(gè)任務(wù)處理所需時(shí)間,根據(jù)先后順序,計(jì)算出每個(gè)任務(wù)的執(zhí)行的起止時(shí)間,通過定時(shí)跑任務(wù)的方式,讓整個(gè)系統(tǒng)保持穩(wěn)定的運(yùn)行。

一個(gè)完整的數(shù)據(jù)分析任務(wù)最少執(zhí)行一次,在數(shù)據(jù)量較少,依賴關(guān)系較為簡(jiǎn)單的低頻數(shù)據(jù)處理過程中,這種調(diào)度方式完全可以滿足需求。然而在企業(yè)級(jí)場(chǎng)景中,更多的是需要每天執(zhí)行,如果任務(wù)數(shù)量較多,在任務(wù)啟動(dòng)的時(shí)間計(jì)算上就將耗費(fèi)大量時(shí)間,另外如果出現(xiàn)上游任務(wù)執(zhí)行時(shí)長(zhǎng)超出原定預(yù)計(jì)時(shí)間或者運(yùn)行異常的問題,上述的處理方式將完全無法應(yīng)對(duì),也會(huì)對(duì)人力物力造成重復(fù)損耗,因此,對(duì)于企業(yè)數(shù)據(jù)開發(fā)過程來說,一個(gè)完整且高效的工作流調(diào)度系統(tǒng)將起到至關(guān)重要的作用。

二、調(diào)度系統(tǒng)工具對(duì)比

很多同學(xué)上手 ETL 工作之后,最先接觸到的應(yīng)該是 linux 自帶的定期執(zhí)行程序的命令 Crontab,使用簡(jiǎn)單,運(yùn)行穩(wěn)定,當(dāng)安裝完成操作系統(tǒng)之后,默認(rèn)便會(huì)啟動(dòng)此命令。上手容易但是也有自己的缺點(diǎn),比如當(dāng)任務(wù)變多之后無法管理、crontab 在機(jī)器上,無法備份,掛機(jī)就沒。因此我們?cè)谶@里對(duì) crontab不做過多介紹,主要針對(duì)較為成熟的工作流調(diào)度工具:Apache Oozie、Azkaban、數(shù)棲云進(jìn)行橫評(píng)。

1、Oozie

Oozie:訓(xùn)象人(調(diào)度mapreduce)。一個(gè)基于工作流引擎的開源框架,Oozie需要部署到j(luò)ava servlet中運(yùn)行,主要用于定時(shí)調(diào)度,多任務(wù)之間按照?qǐng)?zhí)行的邏輯順序調(diào)度。

Oozie 下載地址: https://oozie.apache.org

它有如下功能特點(diǎn):

  • 統(tǒng)一調(diào)度hadoop系統(tǒng)常見的mr任務(wù)啟動(dòng),hdfs操作,shell調(diào)度,hive操作等;

  • 讓復(fù)雜的依賴關(guān)系,時(shí)間觸發(fā),事件觸發(fā)使用xml語言進(jìn)行表達(dá),開發(fā)效率增高(這個(gè)不一定,個(gè)人很討厭xml,我覺得效率不高...);

  • 一組任務(wù)使用一個(gè)DAG表示,使用圖形表達(dá),流程清晰;

  • 支持多種任務(wù)調(diào)度,能完成大部分的hadoop任務(wù);

  • 程序定義支持EL常量和函數(shù),表達(dá)豐富;

  •  Oozie規(guī)定在完成工作后發(fā)送電子郵件通知;

  •  Azkaban使用Web操作。Oozie支持Web,RestApi,Java API操作;

2、Azkaban

Azkaban是由Linkedin開源的一個(gè)批量工作流任務(wù)調(diào)度器。用于在一個(gè)工作流內(nèi)以一個(gè)特定的順序運(yùn)行一組工作和流程。Azkaban定義了一種KV文件格式來建立任務(wù)之間的依賴關(guān)系,并提供一個(gè)易于使用的web用戶界面維護(hù)和跟蹤你的工作流。 

Azkaban 下載地址: https://azkaban.github.io/downloads.html

它有如下功能特點(diǎn):

  • 兼容任何版本的hadoop;

  • 易于使用的web界面;

  • 簡(jiǎn)單工作流的上傳;

  • 方便配置任務(wù)之間的依賴關(guān)系;

  • 調(diào)度工作流;

  • 模塊化和可插拔的插件機(jī)制;

  • 認(rèn)證/授權(quán);

  • 能夠殺死并重新啟動(dòng)工作流;

  • 失敗和成功的電子郵件提醒;

3、數(shù)棲云

基于數(shù)瀾科技旗下產(chǎn)品數(shù)棲4.0部署于云端,面向于個(gè)人、企業(yè)主和獨(dú)立數(shù)據(jù)應(yīng)用開發(fā)商提供的一個(gè)一站式大數(shù)據(jù)工具平臺(tái)和社區(qū)?;A(chǔ)套餐永久免費(fèi)!透過數(shù)棲平臺(tái),個(gè)人和企業(yè)無需過多關(guān)注大數(shù)據(jù)底層存儲(chǔ)和計(jì)算引擎的復(fù)雜的安裝、繁瑣的配置和日常運(yùn)維,即可將自有的多來源業(yè)務(wù)系統(tǒng)數(shù)據(jù)進(jìn)行集成和開發(fā),形成數(shù)據(jù)資產(chǎn),并賦能于自有業(yè)務(wù)場(chǎng)景,在云端輕松構(gòu)建自有數(shù)據(jù)中臺(tái)。

數(shù)棲云產(chǎn)品介紹頁(yè)面: dtcloud.dtwave.com

數(shù)棲云在線注冊(cè)使用地址: shuqi.dtwave.com

數(shù)棲云調(diào)度功能如下:

  • 完成20多種數(shù)據(jù)源的適配調(diào)度:Mysql、Oracle、Hive、HBase、Redis、MongoDB、ODPS、Postgresql、ElasticSearch、API等;

  • 模塊化和可插拔的插件機(jī)制;

  • 支持可視化工作流配置;

  • 支持任務(wù)告警:郵件,電話,短信;

  • 調(diào)度類型多樣化:正常調(diào)度,空跑,暫停調(diào)度;

  • 支持任務(wù)優(yōu)先級(jí)配置;

  • 調(diào)度周期配置簡(jiǎn)單:進(jìn)行鼠標(biāo)點(diǎn)擊即可;

  • 支持工作流與工作流之間組裝;

  • 支持工作流測(cè)試運(yùn)行;

  • 在工作流查看界面中就可以完成:查看代碼,運(yùn)行日志,重跑,置成功并重跑下游,重跑下游等操作;

  • 出錯(cuò)任務(wù)快速定位;

ETL調(diào)度系統(tǒng)及常見工具對(duì)比:Azkaban、Oozie、數(shù)棲云

(Oozie、Azkaban、數(shù)棲云功能對(duì)比)

三、一波總結(jié)

Apache Oozie 是一個(gè)重量級(jí)的任務(wù)調(diào)度系統(tǒng),功能全面,但是部署及配置會(huì)比較麻煩,從 crontab 到 Oozie 上手會(huì)有一定難度。Azkaban 是介于 oozie 和 Crontab 之間的工具,但是安全性上不如 Oozie,同時(shí)如果出現(xiàn)失敗情況,Azkaban會(huì)丟失所有的工作流,Oozie則可以繼續(xù)運(yùn)行。數(shù)棲云相較于以上兩種工具而言,解決了配置及部署復(fù)雜的問題,易于擴(kuò)展的同時(shí),也在工作流中有了更多方便開發(fā)及運(yùn)維的其他功能。 

ETL調(diào)度系統(tǒng)及常見工具對(duì)比:Azkaban、Oozie、數(shù)棲云

(數(shù)棲云產(chǎn)品優(yōu)勢(shì))

當(dāng)然數(shù)棲云不僅僅是一個(gè)功能全面的工作流調(diào)度工具,作為一個(gè)一站式大數(shù)據(jù)平臺(tái),它同時(shí)涵蓋以下功能,無論是簡(jiǎn)單的 ETL 工作,還是復(fù)雜的數(shù)據(jù)中臺(tái)構(gòu)建工作,使用數(shù)棲云都可以完成?;A(chǔ)版永久免費(fèi)!無論遇到什么問題都能找客服解決,比開源產(chǎn)品體驗(yàn)好 100 倍的工具,確定不來試試看嘛?

更多詳情請(qǐng)點(diǎn)擊鏈接了解: dtcloud.dtwave.com

點(diǎn) 擊 此 處 ↓ 立 即 進(jìn) 入 數(shù) 棲 云 ~

ETL調(diào)度系統(tǒng)及常見工具對(duì)比:Azkaban、Oozie、數(shù)棲云

網(wǎng)站名稱:ETL調(diào)度系統(tǒng)及常見工具對(duì)比:Azkaban、Oozie、數(shù)棲云-創(chuàng)新互聯(lián)
文章出自:http://muchs.cn/article12/pdjdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、App開發(fā)、網(wǎng)站改版、自適應(yīng)網(wǎng)站網(wǎng)站內(nèi)鏈、企業(yè)網(wǎng)站制作

廣告

聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)