Talend ETL 工具
Talend ETL tool
我正在开发迁移工具并使用 Talend ETL 工具(免费版)。
面临的挑战:-
是否可以创建一个每次运行都使用动态模式的 Talend 作业,即 tMap 组件中没有硬编码映射。
我希望用户提供一个输入 CSV/Excel 文件,该作业应根据该输入文件创建映射。 talend可以吗?
任何其他免费源 ETL 工具或任何示例作业也可能有用。
是的,这可以在 Talend 中完成,但如果您不想使用 tMap,那么您的 table 和文件必须完全匹配。我们实现它的方式是针对 stage tables,它们都是 varchar 的数据类型。这在您将原始数据加载到阶段 table 时有效,并且您的验证在加载后完成,然后再将阶段数据加载到数据仓库中。
以下是我们方法的总结:
- 文件名包含 table 名称,因此该过程从 tFileList 开始并从文件名中解析出 table 名称。
- 使用 tMSSQLColumnList 获取 table 的每个列名称、类型和长度(一种方法是将其作为内联 table 存储在 tFixedFlowInput 中)
- 运行 通过 tSetDynamicSchema 为那个 table
生成动态
- 使用文件输入引用动态架构。
- 再次引用动态模式将其加载到 MSSQLOutput 中。
关于数据类型的更多说明。它可能适用于数据类型而不是 varchar,但我们的阶段 tables 只有 varchar 和 datetime。我们在日期时间方面遇到了问题,因此我们使用 tMap 过滤掉了这些列类型。
请记住,这是为您指明正确方向的摘要,而不是精确的教程。但是,有了这些信息,您可以在构建解决方案时节省大量工作时间。
我正在开发迁移工具并使用 Talend ETL 工具(免费版)。
面临的挑战:-
是否可以创建一个每次运行都使用动态模式的 Talend 作业,即 tMap 组件中没有硬编码映射。
我希望用户提供一个输入 CSV/Excel 文件,该作业应根据该输入文件创建映射。 talend可以吗?
任何其他免费源 ETL 工具或任何示例作业也可能有用。
是的,这可以在 Talend 中完成,但如果您不想使用 tMap,那么您的 table 和文件必须完全匹配。我们实现它的方式是针对 stage tables,它们都是 varchar 的数据类型。这在您将原始数据加载到阶段 table 时有效,并且您的验证在加载后完成,然后再将阶段数据加载到数据仓库中。
以下是我们方法的总结:
- 文件名包含 table 名称,因此该过程从 tFileList 开始并从文件名中解析出 table 名称。
- 使用 tMSSQLColumnList 获取 table 的每个列名称、类型和长度(一种方法是将其作为内联 table 存储在 tFixedFlowInput 中)
- 运行 通过 tSetDynamicSchema 为那个 table 生成动态
- 使用文件输入引用动态架构。
- 再次引用动态模式将其加载到 MSSQLOutput 中。
关于数据类型的更多说明。它可能适用于数据类型而不是 varchar,但我们的阶段 tables 只有 varchar 和 datetime。我们在日期时间方面遇到了问题,因此我们使用 tMap 过滤掉了这些列类型。
请记住,这是为您指明正确方向的摘要,而不是精确的教程。但是,有了这些信息,您可以在构建解决方案时节省大量工作时间。