目前,我们开发了大量ETL,基础表和列名称将会发生变化。例如,物理名称使用缩写名称而不是全名,因为我们想在Oracle上部署,但是现在,我们决定只使用SQL Server,因此讨论了在数据库级别使用全名。这将影响我们已经开发的ETL。
我只是想知道是否有任何有效的方法将ETL重新映射到更改的列名称?我可以提供一个包含旧的和新的表/列名称的文件作为输入。
对此的任何帮助都将非常感激。
答案 0 :(得分:1)
一种可能的方法是在包含带有参数文件替换的SQL查询的所有Source Qualifier转换中使用SQL Override值。这样,您可以更改列名并在映射源中选择它们,而无需修改源定义。当然,这需要对现有的Source Qualifier转换进行一些前期重构。
或者,在数据库级别,您可以在使用旧缩写列名称的现有表上创建视图,从而有效地提供新列名称与旧列名称之间的转换。这不需要对现有ETL进行任何更改。
但是,我通常建议不要在这种情况下改变任何东西,特别是因为差别纯粹是装饰性的 - 它只会产生维护和复杂性的麻烦。