我有一些csv文件存储在Blob存储中。每个csv每天都会更新。该更新包括插入一些新行和修改一些旧行。我正在使用 Azure 数据工厂 (v2( 从 Blob 存储获取该数据,并将其接收器到 SQL 数据库上。
问题是我的流程大约需要 15 分钟才能完成,所以我怀疑我没有遵循最佳实践。
我不知道"更新器"接收器方法究竟是如何工作的。但我认为这种方法需要一个布尔条件来指示你是要更新该行(如果为 true(还是插入该行(如果为 false(。
我使用一列来获得该条件,该列是通过将 csv(原点(与 ddbb(命运(连接而获得的。这样,如果行是新行,您将获得"null",如果该行已经存在于ddbb上,则得到"非null"。所以我插入具有该"null"值的行,而其他行我只是更新它们。
这是执行这种更新插入方法的最佳/正确方法吗?我能做一些更好的事情来改善我的时代吗?
您是否在使用数据流?如果是这样,则可以使用更新插入或单独的插入/更新路径来更新 SQL 数据库。设置要在"更改行"转换中更新的值的策略,然后为"更新插入"、"更新"和/或"插入"设置接收器。需要标识接收器上的键列,我们将将其用作数据库上的更新键。