一文了解主流大資料ETL工具

danny_2018發表於2022-11-14

ETL是數倉庫中的非常重要的一環,是承前啟後的必要的一步。ETL負責將分佈的、異構資料來源中的資料如關係資料、平面資料檔案等抽取到臨時中間層後進行清洗、轉換、整合,最後載入到資料倉儲或資料集市中,成為聯機分析處理、資料探勘的基礎。下面給大家介紹一下什麼是ETL以及ETL常用的三種工具(Datastage,Informatica,Kettle)!

1.ETL是什麼?

ETL,是英文Extract-Transform-Load的縮寫,用來描述將資料從來源端經過抽取(extract)、轉換(transform)、載入(load)至目的端的過程。(資料倉儲結構)通俗的說法就是從資料來源抽取資料出來,進行清洗加工轉換,然後載入到定義好的資料倉儲模型中去。目的是將企業中的分散、零亂、標準不統一的資料整合到一起,為企業的決策提供分析依據。ETL是BI專案重要的一個環節,其設計的好壞影響生成資料的質量,直接關係到BI專案的成敗。

2.為什麼要用ETL工具?

當資料來自不同的物理機主,這時候如使用SQL語句去處理的話,就顯得比較吃力且開銷也更大。

資料來源可以是各種不同的資料庫或者檔案,這時候需要先把他們整理成統一的格式後才可以進行資料的處理,這一過程用程式碼實現顯然有些麻煩。

在資料庫中我們當然可以使用儲存過程去處理資料,但是處理海量資料的時候儲存過程顯然比較吃力,而且會佔用較多資料庫的資源,這可能會導致資料資源不足,進而影響資料庫的效能。

上面所說的問題,我們用ETL工具就可以解決。它的優點有:

支援多種異構資料來源的連線(部分);

圖形化的介面操作十分方便;

處理海量資料速度快、流程更清晰等。

3.ETL工具介紹

Informactica和Datastage佔據國內市場的大部分的份額。

4.ETL工具差異

Kettle,Datastage,Informatica三個ETL工具的特點和差異介紹:

操作:

都是屬於比較簡單易用,主要是開發人員對於工具的熟練程度。Informatica有四個開發管理組,開發的時候我們需要開啟其中三個進行開發,Informatica沒有ctrl+z的功能,如果對job作了改變之後,想要撤回,返回到改變之前是不可能的。相比Kettle跟Datastage在測試除錯的時候不太方便。Datastage全部的操作在同一個介面中,不用切換介面,能夠看到資料的來源,整個job的情況,在找bug的時候會比Informatica方便。Kettle介於兩者之間。

部署

Kettle只需要JVM環境,Informatica需要伺服器和客戶端安裝,而Datastage的部署比較耗費時間,有一點難度。

資料處理的速度

大資料量下Informatica與Datastage的處理速度是比較快的,比較穩定。Kettle的處理速度相比之下稍慢。

服務

Informatica與Datastage有很好的商業化的技術支援,而 Kettle則沒有。商業軟體的售後服務上會比免費的開源軟體好很多。

風險

風險與成本成反比,也與技術能力成正比。

擴充套件

Kettle的擴充套件性無疑是最好,因為是開原始碼,可以自己開發擴充它的功能,而Informatica和Datastage由於是商業軟體,基本上沒有。

Job的監控

三者都有監控和日誌工具,在資料的監控上,個人覺得Datastage的實時監控做的更加好,可以直觀看到資料抽取的情況,執行到哪一個控制元件上。這對於調優來說,我們可以更快的定位到處理速度太慢的控制元件並進行處理,而informatica也有相應的功能,但是並不直觀,需要透過兩個介面的對比才可以定位到處理速度緩慢的控制元件。有時候還需要透過一些方法去查詢。

網上的技術文件

Datastage<Informatica<kettle相對來說,Datastage跟 nformatica在遇到問題去網上找到解決方法的機率比較低,kettle則比較多。

來自 “ 雲燊大資料 ”, 原文作者:雲燊大資料;原文連結:https://baijiahao.baidu.com/s?id=1741569962223407242&wfr=spider&for=pc,如有侵權,請聯絡管理員刪除。

相關文章