我创建了2个不同的包,其中在包1中我们从两个不同的表(当前表和历史表)加载数据,在第二个包中我们只从当前表加载到目标表。
任务:我想只使用一个包而不是两个包,当它第一次运行时,它应该从当前表和历史表中加载数据,当我们第二次运行它时,它应该只将数据从当前表加载到目标
这可以在单个数据流中完成吗?如果是这样你能解释我怎么样?
答案 0 :(得分:1)
这看起来像某种修改后的增量加载。无论如何,有很多技巧:
创建2个并行DFT,1个带有当前源,另一个带有历史源。 execute sql task
将根据以下两种方法触发它:
注意:明智地处理并行处理,否则源会发生冲突。
维护' DataLoad_ID'
execute sql task
会读到这个。当DataLoad< 1,然后通过constraints
启用历史记录源DFT。否则只运行当前的源DFT。通过现有逻辑。
Execute SQL Task
,检查您的数据仓库是否已填充(例如,使用任何逻辑,检查默认列:Created_Dttm,Updated_Dttm)。如果没有,则通过constraints
启用历史记录来源DFT。否则只运行当前的源DFT。