有沒有擴展性較好的ETL產品?

景柯學


介紹一下我瞭解的ETL的常用工具:DataX、Datastage、Informatica、Kettle、DataPipeline。

阿里開源軟件:DataX

DataX 是一個異構數據源離線同步工具,致力於實現包括關係型數據庫(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各種異構數據源之間穩定高效的數據同步功能。

Kettle開源軟件:水壺(中文名)

Kettle是一款國外開源的ETL工具,純java編寫,可以在Window、Linux、Unix上運行,擴展性好,數據抽取高效穩定。主從結構,沒有高可用。不支持數據的實時同步,也不支持斷點續傳。

IBM公司商業軟件:Datastage

最專業的商業ETL工具,價格較貴,但是大數據量下處理速度也能保持較快的處理速度和穩定性。實時監控做的也很好,可以看到數據抽取的情況,運行到哪一步,很直觀。售後技術支持強大。

商業軟件:Informatica

專業的ETL工具,價格上比Datastage便宜一點,需要服務器和客戶端的安裝,處理速度上和Datastage相當。分佈式部署,支持實時,但是效率不高。技術支持主要在美國,所以國內用的較少。

國內:DataPipeline

國內收費工具,相比DataX,DataPipeline有可視化的過程監控,提供多樣化的圖標,輔助運維,故障問題實時預警。而DataX需要依賴工具日誌定位故障問題。支持實時性,DataX則是定時的。支持斷點續傳,DataX則不支持。架構上也是分佈式的,支持水平擴展。

其中拓展性比較好的就是水壺啦


PM蘇木


ETL的過程我想很多人都談過了,最近我在比較SSIS,OWB和infomatica,結合以前的項目,加深了我對ETL過程的理解和認識。

其實這三種工具,除去應用平臺以為,大同小異,各有利弊。今天我想分享一下我的經驗,主要在擴展和維護方面。

1:數據落地和ELT

   很多人談到數據落地的概念,說白了,就是ODS或者DWH中,有數據input或者output的,都先把要操作的數據放到臨時表裡面,而數據傳輸的兩端的表的結構都是一樣的,這樣的操作比較便捷,幾乎不用考慮轉換的問題。

   同時我們還要提到的就是ELT,ELT和ETL其實各有好處,一個是用工具來轉化數據,一個用SP,工具一般都是一行行的處理,而SP一般都是一列列的處理。我個人認為ELT,用SP處理數據比較好,因為我們的測試或者將來的維護,都需要經常改變表間的mapping關係。而SP只是需要在數據庫裡面做一些修改和操作,而且還比較容易調試,去發現問題的根源。

2:腳本文件

   這裡的腳本文件可以分為FTP>

   當然,如果用腳本文件的話,主機的安全性一定要好,而且對於賬號的表級操作權限也要分配好。

3. 策略表

   我們按照不同的頻率,定時執行package,有的時候可能遇到error,有的時候可能由於其他的問題不能按時執行。其實我們可以做一張策略表,存儲每個package的執行的時間規則,然後每天開始執行前,將所有的package初始化出當天的執行情況,記錄開始結束時間,還有成功標記。執行時,可以先讀取上一個執行日的執行情況,將未完成的package,延續的到當日。


2020探索新夢想


瞭解一下我們的RestCloud ETL功能和kettle差不多,但是全web操作。


分享到:


相關文章: