Talend ETL工具

时间:2016-02-19 05:50:36

标签: migration database-migration etl talend

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

面临的挑战: -

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

我希望用户提供输入CSV / Excel文件,作业应该根据该输入文件创建映射。是否有可能在talend?

任何其他免费源ETL工具也可以提供帮助,或任何样本作业。

1 个答案:

答案 0 :(得分:1)

是的,这可以在Talend中完成,但如果您不想使用tMap,那么您的表和文件必须完全匹配。我们实现它的方式是阶段表,它们都是varchar的数据类型。当您将原始数据加载到阶段表中时,这可以正常工作,并且在将阶段数据加载到数据仓库之前,在加载之后完成验证。

以下是我们方法的摘要:

  1. 文件名包含表名,因此进程以tFileList开头,并从文件名中解析出表名。
  2. 使用tMSSQLColumnList获取表的每个列名,类型和长度(一种方法是将其存储为tFixedFlowInput中的内联表)
  3. 通过tSetDynamicSchema运行此操作以生成该表的动态
  4. 使用文件输入引用动态架构。
  5. 再次将其加载到MSSQLOutput中,引用动态模式。
  6. 关于数据类型的另一个注释。它可以使用数据类型而不是varchar,但我们的阶段表只有varchar和datetime。我们遇到了datetime问题,因此我们使用tMap过滤掉了这些列类型。

    请注意,这是一个总结,指出您正确的方向,而不是一个精确的教程。但是掌握了这些信息,可以在构建解决方案时节省大量的工作时间。