Talend ETL 工具

Talend ETL tool

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

面临的挑战:-

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

我希望用户提供一个输入 CSV/Excel 文件,该作业应根据该输入文件创建映射。 talend可以吗?

任何其他免费源 ETL 工具或任何示例作业也可能有用。

是的,这可以在 Talend 中完成,但如果您不想使用 tMap,那么您的 table 和文件必须完全匹配。我们实现它的方式是针对 stage tables,它们都是 varchar 的数据类型。这在您将原始数据加载到阶段 table 时有效,并且您的验证在加载后完成,然后再将阶段数据加载到数据仓库中。

以下是我们方法的总结:

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

关于数据类型的更多说明。它可能适用于数据类型而不是 varchar,但我们的阶段 tables 只有 varchar 和 datetime。我们在日期时间方面遇到了问题,因此我们使用 tMap 过滤掉了这些列类型。

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