2012-02-01 82 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文件)为开发人员提供挖掘生成代码的可能性。但它的总是留给核心开发者的一个选项,而普通用户几乎不会进入代码中去做她的日常工作。