温馨提示:本文翻译自stackoverflow.com,查看原文请点击:migration - Talend ETL tool
database-migration etl migration talend

migration - Talend ETL工具

发布于 2020-06-26 11:13:33

我正在开发迁移工具,并使用Talend ETL工具(免费版)。

面临的挑战:

是否有可能创建一个Talend作业,该作业在每次运行时都使用动态模式,即tMap组件中没有硬编码映射。

我希望用户提供一个输入CSV / Excel文件,该作业应在该输入文件的基础上创建映射。有可能在天才吗?

任何其他免费的ETL工具也可以提供帮助,或者提供任何示例工作。

查看更多

提问者
Tarun Arora
被浏览
9
E LaRoche 2016-11-03 05:18

是的,这可以在Talend中完成,但是如果您不希望使用tMap,则表和文件必须完全匹配。我们实现它的方法是针对所有都是varchar数据类型的阶段表。当您将原始数据加载到阶段表中并且在加载之后,将阶段数据加载到数据仓库中之前进行验证时,此方法有效。

这是我们方法的摘要:

  1. 文件名包含表名,因此该过程从tFileList开始,并从文件名中解析出表名。
  2. 使用tMSSQLColumnList获得表的每个列名称,类型和长度(一种方法是将其作为内联表存储在tFixedFlowInput中)
  3. 通过tSetDynamicSchema运行此程序以为该表生成动态
  4. 使用文件输入引用动态架构。
  5. 再次将其加载到MSSQLOutput中,以引用动态架构。

关于数据类型的另一注。它可以使用比varchar更好的数据类型,但是我们的阶段表仅包含varchar和datetime。我们在日期时间方面遇到问题,因此我们使用tMap过滤掉了这些列类型。

请记住,这是向您指明正确方向的摘要,而不是精确的教程。但是有了这些信息,可以在构建解决方案时节省许多时间。