SSIS 数据流(2 个包合并为一个包)
SSIS DATA FLOW (2 packages into a single package)
我创建了 2 个不同的包,在包 1 中,我们从两个不同的 tables(当前和历史 tables)加载数据,在第二个包中,我们仅从当前加载数据table 到目的地 table。
任务:我只想使用一个包而不是两个包,当它 运行 第一次加载当前和历史数据时 table 而当我们 运行 第二次它应该只将数据从当前 table 加载到目标。
这可以在单个数据流中完成吗?如果可以,你能告诉我怎么做吗?
这看起来像是某种修改后的增量加载。反正有很多技巧:
创建 2 个并行 DFT,1 个使用当前源,另一个使用历史源。 execute sql task
将根据以下 2 种方法触发它:
注意:明智地处理并行处理,否则来源会发生冲突。
维持'DataLoad_ID'
- 在这里,您将维护一个单独的 table,其中包含加载次数。
execute sql task
会读这个。当 DataLoad < 1 时,则通过 constraints
启用历史源 DFT。否则 运行 仅电流源 DFT。
通过现有逻辑。
- 使用
Execute SQL Task
,检查您的数据仓库是否已填充(使用任何逻辑,例如,检查默认列:Created_Dttm、Updated_Dttm)。如果不是,则通过 constraints
启用历史源 DFT。否则 运行 仅电流源 DFT。
我创建了 2 个不同的包,在包 1 中,我们从两个不同的 tables(当前和历史 tables)加载数据,在第二个包中,我们仅从当前加载数据table 到目的地 table。
任务:我只想使用一个包而不是两个包,当它 运行 第一次加载当前和历史数据时 table 而当我们 运行 第二次它应该只将数据从当前 table 加载到目标。
这可以在单个数据流中完成吗?如果可以,你能告诉我怎么做吗?
这看起来像是某种修改后的增量加载。反正有很多技巧:
创建 2 个并行 DFT,1 个使用当前源,另一个使用历史源。 execute sql task
将根据以下 2 种方法触发它:
注意:明智地处理并行处理,否则来源会发生冲突。
维持'DataLoad_ID'
- 在这里,您将维护一个单独的 table,其中包含加载次数。
execute sql task
会读这个。当 DataLoad < 1 时,则通过constraints
启用历史源 DFT。否则 运行 仅电流源 DFT。
- 在这里,您将维护一个单独的 table,其中包含加载次数。
通过现有逻辑。
- 使用
Execute SQL Task
,检查您的数据仓库是否已填充(使用任何逻辑,例如,检查默认列:Created_Dttm、Updated_Dttm)。如果不是,则通过constraints
启用历史源 DFT。否则 运行 仅电流源 DFT。
- 使用