2

目前,我们已经开发了很多 ETL,并且底层的表和列名将会改变。例如,物理名称使用缩写名称而不是全名,因为我们想在 Oracle 上部署,但现在,我们决定只使用 SQL Server,因此讨论了在 DB 级别使用全名。这将影响我们已经开发的 ETL。

我只是想知道是否有任何有效的方法将 ETL 重新映射到更改的列名?我可以提供一个包含新旧表/列名称的文件作为输入。

对此的任何帮助将不胜感激。

4

1 回答 1

1

一种可能的方法是在包含带有参数文件替换的 SQL 查询的所有源限定符转换中使用 SQL 覆盖值。这样,您可以更改列名并在映射源中选择它们,而无需修改源定义。当然,这需要对现有的源限定符转换进行一些前期重构。

或者,在数据库级别,您可以在使用旧的缩写列名的现有表上创建视图,从而有效地提供新列名和旧列名之间的转换。这不需要对您现有的 ETL 进行任何更改。

但是,在这种情况下,我通常建议不要更改任何内容,特别是因为差异纯粹是装饰性的 - 它只会产生维护和复杂性问题。

于 2011-05-11T12:16:46.497 回答