最近遇到了不少正在研究ETL及其工具的同窗向咱們抱怨:一樣都在用 Kettle ,起點明明沒差別,但爲何別人ETL作的那麼快那麼好,本身卻不斷掉坑? html
其實,相似於像 Kettle 這樣開源的工具,已經覆蓋了大部分平常工做所需的功能了,直接部署一套就可以解決企業基本的需求。但在實際使用的過程當中咱們也會發現,kettle 如同是一個出場自帶電話短信功能的智能手機,少了功能各異的智能 App 的配合,和只能接打電話的老年機也沒什麼不一樣。java
今天咱們就先對其中一個比較火熱的「App」——調度工具,作一個簡單的評測對比,幫助你們快速解鎖用開源工具作 ETL 的新姿式。linux
開局咱們先掃盲。git
咱們都知道大數據的計算、分析和處理,通常由多個任務單元組成(Hive、Sparksql、Spark、Shell等),每一個任務單元完成特定的數據處理邏輯。github
多個任務單元之間每每有着強依賴關係,上游任務執行併成功,下游任務才能夠執行。好比上游任務結束後拿到 A 結果,下游任務需結合 A 結果才能產出 B 結果,所以下游任務的開始必定是在上游任務成功運行拿到結果以後才能夠開始。web
而爲了保證數據處理結果的準確性,就必需要求這些任務按照上下游依賴關係有序、高效的執行。一個較爲基礎的處理方式是,預估出每一個任務處理所需時間,根據前後順序,計算出每一個任務的執行的起止時間,經過定時跑任務的方式,讓整個系統保持穩定的運行。sql
一個完整的數據分析任務最少執行一次,在數據量較少,依賴關係較爲簡單的低頻數據處理過程當中,這種調度方式徹底能夠知足需求。然而在企業級場景中,更多的是須要天天執行,若是任務數量較多,在任務啓動的時間計算上就將耗費大量時間,另外若是出現上游任務執行時長超出原定預計時間或者運行異常的問題,上述的處理方式將徹底沒法應對,也會對人力物力形成重複損耗,所以,對於企業數據開發過程來講,一個完整且高效的工做流調度系統將起到相當重要的做用。shell
不少同窗上手 ETL 工做以後,最早接觸到的應該是 linux 自帶的按期執行程序的命令 Crontab,使用簡單,運行穩定,當安裝完成操做系統以後,默認便會啓動此命令。上手容易可是也有本身的缺點,好比當任務變多以後沒法管理、crontab 在機器上,沒法備份,掛機就沒。所以咱們在這裏對 crontab不作過多介紹,主要針對較爲成熟的工做流調度工具:Apache Oozie、Azkaban、數棲雲進行橫評。apache
一、Oozie安全
Oozie:訓象人(調度mapreduce)。一個基於工做流引擎的開源框架,Oozie須要部署到java servlet中運行,主要用於定時調度,多任務之間按照執行的邏輯順序調度。
Oozie 下載地址:https://oozie.apache.org
它有以下功能特色:
二、Azkaban
Azkaban是由Linkedin開源的一個批量工做流任務調度器。用於在一個工做流內以一個特定的順序運行一組工做和流程。Azkaban定義了一種KV文件格式來創建任務之間的依賴關係,並提供一個易於使用的web用戶界面維護和跟蹤你的工做流。
Azkaban 下載地址:https://azkaban.github.io/downloads.html
它有以下功能特色:
三、數棲雲
基於數瀾科技旗下產品數棲4.0部署於雲端,面向於我的、企業主和獨立數據應用開發商提供的一個一站式大數據工具平臺和社區。基礎套餐永久免費!透過數棲平臺,我的和企業無需過多關注大數據底層存儲和計算引擎的複雜的安裝、繁瑣的配置和平常運維,便可將自有的多來源業務系統數據進行集成和開發,造成數據資產,並賦能於自有業務場景,在雲端輕鬆構建自有數據中臺。
數棲雲產品介紹頁面:dtcloud.dtwave.com
數棲雲在線註冊使用地址:shuqi.dtwave.com
數棲雲調度功能以下:
(Oozie、Azkaban、數棲雲功能對比)
Apache Oozie 是一個重量級的任務調度系統,功能全面,可是部署及配置會比較麻煩,從 crontab 到 Oozie 上手會有必定難度。Azkaban 是介於 oozie 和 Crontab 之間的工具,可是安全性上不如 Oozie,同時若是出現失敗狀況,Azkaban會丟失全部的工做流,Oozie則能夠繼續運行。數棲雲相較於以上兩種工具而言,解決了配置及部署複雜的問題,易於擴展的同時,也在工做流中有了更多方便開發及運維的其餘功能。
(數棲雲產品優點)
固然數棲雲不只僅是一個功能全面的工做流調度工具,做爲一個一站式大數據平臺,它同時涵蓋如下功能,不管是簡單的 ETL 工做,仍是複雜的數據中臺構建工做,使用數棲雲均可以完成。基礎版永久免費!不管遇到什麼問題都能找客服解決,比開源產品體驗好 100 倍的工具,肯定不來試試看嘛?
更多詳情請點擊連接瞭解:dtcloud.dtwave.com
也能夠直接掃描二維碼,直接進入產品使用!