我听说"ETL工具“这个词最近使用了很多,并开始深入了解它们。我找到了一个用于Java的开放源码这里工具的清单,并开始阅读它们。
但这让我很困惑。
大多数这些工具(CloverETL,宾得,等等)是GUI工具。其中一些(比如Smooks )是纯Java框架。我想这是有意义的:一些ETL用户可能是非技术人员和/或希望使用GUI工具来设置转换。其他用户将是希望利用这些工具的原始ETL功能的开发人员。
我的问题是:有什么好处(附加功能等)吗?这些GUI工具提供的是纯Java框架,反之亦然?“主要玩家”的GUI工具,比如CloverETL和Pentaho -自诩为GUI工具--是否也有Java,我可以(以编程方式)完成同样的任务?或者它们是纯GUI工具?我在任何地方都找不到Java (无论哪一个)。
发布于 2012-12-19 00:08:33
我想说的是,使用非GUI工具进行ETL并没有真正的优势。
在大多数典型情况下,GUI方法对于ETL作业来说效率要高得多,因为这些工具应该为您提供一种快速完成数据任务的方法,而且几乎不需要编写自定义代码。这是因为ETL平台在哲学上不过是一个代码生成平台:画布上绘制的任务由工具引擎在机器代码中翻译(理想情况下,以最合适的方式),机器代码直接在引擎罩下执行,没有中间代理。较大的客户端-服务器体系结构复杂,但基本思想保持不变。
这个生成的代码隐藏得有多深,取决于平台。有些,如宾得或数据存储,确实使用户无法访问;另一些,如Talend (在应用程序中容易嵌入或直接执行的类中生成java代码)或(生成.sas文件)使开发人员有可能挖掘生成的代码。但是,这始终是留给核心开发人员的一个选项,而常规用户几乎永远不会进入代码中去完成她的日常工作。
https://stackoverflow.com/questions/9103510
复制相似问题