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