我正在寻找一个可嵌入的Java ETL,即可以从Java 代码调用的Extract Transform Load 引擎。
我发现很难找到合适的。
我主要关注将分隔的文本文件加载到数据库表中,并在此过程中进行一些小的转换。
我想要以下功能:
- 能够在外部指定简单映射,例如,文本列 5 到数据库列 foo,指定一些 xml 映射文件
- 为数据库节点提供 javax.sql.Datasource 的能力
CloverETL 允许在 XML 中指定映射,但数据库连接必须是 JNDI 名称或指定驱动程序类、url、dbusername、密码等的属性文件。由于我已经javax.sql.Datasource
通过我的依赖注入框架设置了 s,属性文件看起来很痛苦,而且不健壮,特别是如果我希望它在多个环境(开发、测试、产品)中工作。
KETL 告诉我“我们目前正在彻底检查 KETL™ 的文档。因此,仅更新了安装指南。” 诚实,但没有帮助。
八达通现在是“http://www.together.at/prod/database/tdt”,即“正在建设中”。
Pentaho似乎使用与 CloverETL 相同的“指定驱动程序类”样式,而不是使用数据源,但 Pentaho 从 java 代码调用其引擎的文档很难找到。
基本上我真的很想能够做这个伪代码:
extractTransformLoad(
getInputFile( "input.csv" ) ,
getXMLMapping( "myMappingFile.xml") ,
new DatabaseWriter( getDatasource() );
有什么建议么?