Azure数据工厂“扁平化层次结构”

我希望有人经过相同的过程,并且可以帮助我看看是否存在以下情况。

我目前正在构建一个从S3存储桶复制的管道。该存储桶包含大量文件夹。从S3存储桶复制数据时,Azure数据工厂是否有办法忽略文件​​夹,而只复制文件本身?我已经了解到COPY活动具有“扁平化的层次结构”,但是我看到的最大限制是所有文件都被重命名,而且我不确定这些文件夹中是否包含所有文件,因为它提到了它仅在“目标文件夹的第一级”中。

另一个问题是S3存储桶具有嵌套的文件夹(例如:“ domain / yyyy / mm / dd / file”),有些文件夹包含数据,有些则没有。唯一的好处是所有这些文件都包含相同的架构。

该管道的最终结果如下:

1)从S3存储桶中复制文件而不复制文件夹结构 2)将文件加载到Azure数据库

如果有人使用Azure Data Factory或其他工具做了类似的事情,我将不胜感激您的见识。

zongjun0221 回答:Azure数据工厂“扁平化层次结构”

vlado101,首先,我不得不说,您在问题中提到的"flatten hierarchy"sink的来源,而不是来源:

enter image description here

由于您的目的地是SQL DB,因此我认为此复制行为与您的要求无关。根据我的测试(blob storage,不是aws s3,抱歉,因为我没有asw服务):

2个位于子文件夹中的json文件:

enter image description here

enter image description here

我配置了源数据集:

enter image description here

请确保选择recursive为true(指示是从子文件夹中递归读取数据还是仅从指定文件夹中读取数据。请注意,当递归设置为true且接收器基于文件时存储,则不会在接收器上复制或创建一个空的文件夹或子文件夹),并按如下所示预览源数据

enter image description here

执行复制活动,子文件夹文件中的所有数据都将转移到目标sql db表中:

enter image description here

当然,此测试基于blob存储,而不是s3存储桶。我相信它们是相似的,您可以测试一下。有任何问题,请告诉我。

本文链接:https://www.f2er.com/3079624.html

大家都在问