假设您有一个小项目,从表面上看,它与 Talend 等 ETL 工具非常匹配。
但进一步假设,您从未使用过 Talend,此外,您通常不信任“可视化编程”工具,而宁愿在适当的语言和支持的帮助下以老式方式编写所有内容(在一个好的 IDE 上编写文本!)图书馆。
有哪些语言模式和支持库可以帮助您远离 ETL 工具的诱惑/陷阱?
这取决于交付物是处理器还是输出本身。如果只需要交付输出,则不需要维护代码。如果代码需要维护,那么是您维护它还是其他人维护它?
如果其他人需要维护,我会使用 Java 或给他们 Talend。
如果是一次性代码,我会使用更容易或更有趣的编程方式。
如果您需要维护它并且处理很复杂,我会使用 Scala。它有:
查看DataExpress。它是一个基于 Scala 的跨数据库 ETL 工具包。
我曾经认为“可视化编程”是为不会编程的人准备的。然后我在一个项目中接触了 Talend,我意识到这种类型的工具非常适合这项工作,因为它可以将数据从 A 移动到 B,并在此过程中对其进行转换。它是面向组件的软件设计,带有更多学术标签。
我仍然认为自己是一个体面的程序员,可以使用文本编辑器和 shell 提示符做任何事情,甚至可以做一些事情。但我也成为了 Talend 的忠实粉丝。
全面披露:我现在为公司工作:-)
I think this is a pretty good match for Rails-inspired frameworks, such as Grails on Groovy or Lift on Scala.
根据 DB 模式的大小,您可以在 Hibernate 中快速映射所有内容,并使用生成的对象模型来完成您的工作(取决于您想要 ETL 工具的用途)