ADF:ForEach 循环中的复制活动是否多次访问源数据库?

问题描述 投票:0回答:1

我需要将整个表从源数据库更新插入到多个目标数据库(所有 Azure SQL)。我有一个查找活动,它提取服务器/数据库名称列表并将其传递到 ForEach 循环,在其中我放置了一个复制数据活动,其中静态数据集作为源和动态目标。

我的问题是:每次循环运行时,这种安排都会影响源数据库吗?我实际上只需要提取数据一次,因为需要将完全相同的数据更新插入到所有目标数据库。有没有一种方法可以一次性提取数据并将其转储到内存中,而不是每次循环运行时都返回到源数据库?或者根据定义,我使用静态数据集作为源是否意味着每次管道运行只提取一次数据?

这些有任何意义吗? :)

azure-data-factory oracle-adf
1个回答
0
投票

在 Azure 数据工厂中,使用静态数据集作为

Source
中的
Copy Data activity
意味着每次管道运行时仅提取一次数据,而不是每次循环运行时提取数据。此行为是设计使然,它确保数据从源读取一次,然后针对
ForEach
循环的每次迭代进行处理,而不会多次访问源数据库。

因此,您可以放心,数据只会在管道运行开始时从源数据库中获取一次,并将存储在内存中以供 ForEach 循环的所有迭代使用,其中数据将被更新插入到多个目标数据库。

© www.soinside.com 2019 - 2024. All rights reserved.