在我的 ETL 过程中,我使用更改数据捕获 (CDC) 来仅发现自上次提取以来源表中已更改的行。然后我只对这些行进行转换。问题是,例如,当我有 2 个要加入一维的表时,其中只有一个发生了变化。例如,我有如下表国家和城镇:
国家:
ID Name
1 France
城市:
ID Name Country_ID
1 Lyon 1
现在假设在 Towns 表中添加了一个新行:
ID Name Country_ID
1 Lyon 1
2 Paris 2
Country 表没有更改,因此这些表的 CDC 仅向我显示 Towns 表中的行。问题是当我在国家和城镇之间进行连接时,国家更改集中没有行,因此连接将导致空集。
你知道如何解决它吗?当然,可能会有更困难的情况,涉及 3 个或更多表以及后续连接。