我希望配置 ADF 作业以使用复制功能从源容器传输 .txt 文件,并将它们传输到各自文件夹中的 ADLS 接收器容器。
例如:
源容器A 目录 -文件A-20240201.txt -fileB-20240302.txt -fileB-20230201.txt -文件C-20230201.txt
水槽容器B 目录 -文件夹_A -文件夹_B -文件夹_C
使用通配符传输fileA*并将这些文件传输到Folder_A。使用通配符传输 fileB* 并将这些文件传输到Folder_B。使用通配符传输 fileC* 并将这些文件传输到Folder_C。
寻求有关设置此 ADF 作业的配置详细信息的帮助。
尝试将 ForEach 与 Switch Activity 嵌套使用,对每个文件名使用 Case Activity,然后进行复制活动。
如果您知道目标文件夹的数量和目标文件夹的列表,那么您可以尝试以下方法。
这些是我的示例输入文件:
sourcecon
folder
fileA-20240201.txt
fileA-20240311.txt
fileB-20230201.txt
fileB-20240302.txt
fileC-20230201.txt
fileC-20240310.txt
首先创建一个带有字母
["A","B","C",..<till required folders>]
的数组变量。将此数组赋予 For-Each 活动。
创建源数据集和目标数据集。在目标数据集中,创建一个字符串参数
folder_name
并将其赋予数据集的文件夹路径,如下所示。
在 for 循环内,进行复制活动并给出创建的源和接收器数据集。在源代码中,使用带有此表达式
file@{item()}*
的通配符路径,如下所示。
在接收器中,将表达式
Folder_@{item()}
赋予数据集参数。
调试管道,所有必需的文件将被复制到相应的文件夹中,如下所示。
目标文件夹:
目标文件夹中创建的文件: