如何减少Azure Synapse中使用的集成数据集的数量?

sqserrrh  于 2023-08-07  发布在  其他
关注(0)|答案(1)|浏览(115)

我是一个新手,所以我需要一些帮助,请。
所以我有下面的管道。
Pipeline
它从我提供的变量列表中运行每个元素,然后调用API,存储数据,然后将其以特定的文件格式附加到特定的位置。
我为此使用了4个集成数据集,其中3个对于此管道是唯一的。
第一个集成数据集(我重用的)是源,我在其中将列表中的每个元素附加到API。
第二个集成数据集是我将每个文件从API接收到存储位置的地方。
在运行For Each块之后,在复制活动块中,我使用第三个集成数据集从该存储中获取所有数据,并使用通配符选择该文件中的所有数据。然后我用第四个集成数据集接收所有数据,将它们合并在一起并将其保存为特定的文件格式。
我遇到的问题是,我有大约18个管道,如果你把它乘以3个独特的集成数据集,每个管道54个集成数据集,据我所知,Azure并不代表友好的方式。
是否有任何方法可以减少使用的集成数据集的数量?

jk9hmnmh

jk9hmnmh1#

您可以使用容器、文件夹路径和文件名的数据集参数**对单个数据集执行相同的操作。
给予如下数据集参数。


的数据
为ForEach中的复制活动给予容器名称、文件夹路径和文件名。



在这里,我为每个@item()使用构建了文件名。
在ForEach之外,对于复制活动的源,仅给予**您的容器名称,并使用空字符串('')**填充其余参数,如下所示。
选择通配符文件路径,并在其中给予文件夹路径和通配符文件路径。



然后在它的接收器中,给予你的目标容器、文件夹路径和文件名,选择【合并文件】。



对于每个管道,您需要根据文件夹结构执行相同的操作。
这种方法将每个管道的数据集数量从4减少到2。
如果文件夹结构和管道流相同,则可以为每个管道使用相同的数据集,但在为每个管道中的数据集提供值时需要小心。

我的结果:


相关问题