我正在使用数据工厂创建暂存区域,问题是无论何时源数据更改,我们都会向临时表格添加新行。仅保留数据工厂中的最新一行数据
例如,假设我们有如下数据:
ID Fields created edited
100 ---------- '2017-07-01' '2017-07-05'
这将被储存在我们的临时表是这样的:
ID Fields created edited
100 ---------- '2017-07-01' null
100 ---------- '2017-07-01' '2017-07-05'
选择最近的一排是昂贵的,我们不”我想要那个。您如何认为我们可以避免在分期中存储重复的ID?
我假设在创建管道时,如果ID已经存在于分段中,应该有一种方法来更新数据。
在数据工厂的查询格式是这样的:
$$Text.Format('select * from <<table>> where <<column>> >= \'{0:yyyy-MM-dd HH:mm}\' AND <<column>> < \'{1:yyyy-MM-dd HH:mm}\'', WindowStart, WindowEnd)
你可以做一个MERGE类似[this]的东西(https://docs.microsoft.com/en-us/azure/data-factory/data-factory-invoke-stored-procedure-from-copy-活动)? – wBob
如果存在(从表中选择1,其中id = @ id)update statement where id = @ id else insert语句 – JayaPrakash