2012-02-01 106 views
2

我聽說最近使用的術語「ETL工具」很多,並開始深入瞭解它們。我找到了一組用於Java here的開源ETL工具,並開始閱讀它們。ETL工具:圖形用戶界面與框架結構

但這讓我很難困惑。

大多數這些工具(CloverETL,Pentaho等)都是GUI工具。其中一些(如Smooks)是純Java的框架。我想這是有道理的:一些ETL用戶可能是非技術性的和/或想要使用GUI工具來設置轉換。其他用戶將是想要利用這些工具的原始ETL功能的開發人員。

我的問題:這些GUI工具對純Java框架有什麼好處(附加功能等),反之亦然?像CloverETL和Pentaho這樣的「主要參與者」GUI工具(它們將自己定義爲GUI工具)是否也具有Java API,我可以用編程方式完成相同的事情?或者他們是純粹的GUI工具?我找不到任何地方的Java Docs(對於任何一個)。

+1

Pentaho Kettle既可以用作GUI工具,也可以用作Java框架。查看Java API示例的鏈接:http://wiki.pentaho.com/display/EAI/Pentaho+Data+Integration+-+Java+API+Examples – Raihan 2012-02-01 21:40:24

+0

僅就術語發表評論 - 大多數大型ETL工具(Informatica ,DataStage,Ab Initio)不是基於Java的,並且具有定製的客戶機/服務器體系結構......短語ETL工具通常包含這兩個元素。我知道你特別談論基於Java的ETL解決方案,但只是想澄清一下,這是ETL工具的一小部分(查看http://www.gartner.com/technology/reprints.do?id=1 -17QG4XL&CT = 111020&ST = SB)。 – bob 2012-02-02 13:11:15

+0

同意Raihan。另外,它可以用作CLI工具(pan.sh)。我們使用Pentaho數據集成設計器(勺)來設計轉換並使用Pan CLI工具批量運行它們。 – 2012-02-28 14:11:44

回答

1

我會說,不,對於使用ETL的非GUI工具確實沒有真正的優勢。

在最典型的情況下,一個圖形用戶界面的方法是ETL作業效率高得多,因爲這些工具應該爲您提供一種方式來進行數據的任務迅速幾乎沒有編寫自定義代碼。這是因爲ETL平臺的哲學不過是一個代碼生成平臺:繪製在畫布上的任務被機器代碼中的工具引擎翻譯(理想情況下,以最合適的方式),直接在機器底下執行,無需中間代理。較大的有一個複雜的客戶端 - 服務器架構,但基本思想保持不變。

這個生成的代碼隱藏的程度取決於平臺。有些人,如Pentaho或Datastage,確實使用戶無法訪問;其他人,比如Talend(可以在類中生成可輕鬆嵌入應用程序或直接執行的類中的Java代碼)或SAS Data Integration Studio(可生成.sas文件)爲開發人員提供挖掘生成代碼的可能性。但它的總是留給核心開發者的一個選項,而普通用戶幾乎不會進入代碼中去做她的日常工作。