我有一个管道,每天将新更新的数据从 SQLDB 表中提取到 Data Lake Store 中的 .tsv 文件中。
该数据稍后将用于附加/更新到现有表。
为了仅从 SQLDB 中选择新更新的行,我使用 sqlReaderQuery 从最后带有 WHERE 子句 ("WHERE DATEDIFF(day,c.UpdatedOn,GETDATE())=1") 的表中进行选择,这允许我选择仅在管道执行前一天已更新 (c.UpdatedOn) 的行。
问题是:假设管道暂停 1 周进行维护。然后,当我恢复管道时,它只会检索在前一周的最后一天添加的行......
有什么方法可以使用系统变量来指示管道上次运行的时间?
因此,我可以将 WHERE 子句中的 GETDATE() 替换为系统变量,例如:
WHERE DATEDIFF(day,c.UpdatedOn,DateOfPipelineLastExecution)<0
谢谢