【问题标题】:Straight Java/Groovy versus ETL tool (Talend/etc) - what libraries would you use?直接的 Java/Groovy 与 ETL 工具(Talend/etc)——你会使用什么库?
【发布时间】:2010-03-12 01:07:50
【问题描述】:

假设您有一个小项目,表面上看起来很适合 Talend 等 ETL 工具。

但进一步假设,您从未使用过 Talend,此外,您通常不信任“可视化编程”工具,而宁愿在适当的帮助下以老式方式编写所有内容(在一个好的 IDE 上编写文本!)语言和支持库。

有哪些语言模式和支持库可以帮助您远离 ETL 工具的诱惑/陷阱?

【问题讨论】:

标签: java scala groovy etl talend


【解决方案1】:

这取决于交付物是处理器还是输出本身。如果只需要交付输出,则不需要维护代码。如果代码需要维护,那么是你维护它还是其他人?

如果其他人需要维护,我会使用 Java 或给他们 Talend。

如果是一次性代码,我会使用更容易或更有趣的代码。

如果您需要维护它并且处理很复杂,我会使用 Scala。它有:

  • some libraries 与数据库交互
  • xml 文字
  • 解析器组合器
  • 其集合包上的有趣功能(地图、过滤器、分组依据、分区...)
  • 当然还有其他现有的 Java 库。

【讨论】:

  • 我已经检查了 Talend 生成的代码...你确定它可以在创建后维护吗?
  • @yura,我只是简单地看了一下 Talend,并没有亲自使用它。我的意思是可以维护 Talend 定义和配置(不一定是生成的代码)。
  • 好的,我只是想了解一下您的看法,可视化语言(如 Talend 或 Pentaho)是否可以用于需要长期支持和维护的复杂 ETL 规则。
【解决方案2】:

我曾经认为“可视化编程”是为不会编程的人准备的。然后我在一个项目中接触了 Talend,我意识到这种类型的工具非常适合这项工作,将数据从 A 移动到 B,并在此过程中对其进行转换。它是面向组件的软件设计,带有更学术的标签。

我仍然认为自己是一个体面的程序员,他可以做任何事情,而且还可以做一些事情,只需要一个文本编辑器和一个 shell 提示符。但我也成为了 Talend 的忠实粉丝。

完全披露:我现在为公司工作:-)

【讨论】:

    【解决方案3】:

    查看DataExpress。这是一个基于 Scala 的跨数据库 ETL 工具包。

    【讨论】:

      【解决方案4】:

      我认为这非常适合受 Rails 启发的框架,例如 Groovy 上的 Grails 或 Scala 上的 Lift。

      【讨论】:

        【解决方案5】:

        根据 DB 模式的大小,您可以在 Hibernate 中真正快速地映射所有内容,然后使用生成的对象模型来完成您的工作(取决于您想要 ETL 工具用于什么)

        【讨论】:

          猜你喜欢
          • 2021-12-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-18
          • 2021-10-08
          • 2020-01-05
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多