3

我听说“ETL 工具”这个词最近使用了很多,并开始深入了解它们。我在这里找到了一个很棒的 Java 开源 ETL 工具列表,并开始阅读它们。

但这让我真的很困惑。

大多数这些工具(CloverETL、Pentaho 等)都是 GUI 工具。其中一些,例如 Smooks,是纯 Java 框架。我想这是有道理的:一些 ETL 用户可能不是技术人员和/或想使用 GUI 工具来设置转换。其他用户将是希望利用这些工具的原始 ETL 功能的开发人员。

我的问题:这些 GUI 工具比纯 Java 框架有什么好处(附加功能等),反之亦然?诸如 CloverETL 和 Pentaho 之类的“主要参与者”GUI 工具——它们自称是 GUI 工具——是否也有 Java API,我可以用它们(以编程方式)完成相同的事情?还是它们是纯 GUI 工具?我在任何地方都找不到 Java Docs(对于任何一个)。

4

1 回答 1

3

我会说不,将非 GUI 工具用于 ETL 并没有真正的优势。

在大多数典型情况下,GUI 方法对于 ETL 作业要高效得多,因为这些工具应该为您提供一种快速完成数据任务的方法,并且几乎无需编写自定义代码。这是因为从哲学上讲,ETL 平台只不过是一个代码生成平台:绘制在画布上的任务由工具引擎翻译(理想情况下,以最合适的方式)在机器代码中直接执行,无需中间代理. 较大的具有复杂的客户端-服务器架构,但基本思想保持不变。

生成的代码隐藏的深度取决于平台。有些,比如 Pentaho 或 Datastage,确实让用户无法访问;其他的,如 Talend(在类中生成易于嵌入应用程序或直接执行的 Java 代码)或 SAS Data Integration Studio(生成 .sas 文件)使开发人员可以深入研究生成的代码。但这始终是铁杆开发人员的选择,而普通用户几乎永远不会进入代码内部来完成她的日常工作。

于 2012-12-19T00:08:33.570 回答