【问题标题】:How to Create a Folder From FileName in ADF如何在 ADF 中从文件名创建文件夹
【发布时间】:2022-11-13 16:27:01
【问题描述】:

我有像这样的文件

ABCD_12234.csv
ABCD_56789.csv
CDE_EFG_123456.csv
CDE_EFG_786542.csv

我想让 ABCD 文件之类的文件夹名称放在 ABCD 文件夹下 CDE_EFG 文件将放在 CDE_EFG 文件夹下

【问题讨论】:

  • 您将在哪里创建文件夹?你可以使用@split之类的函数,参考这个page

标签: azure azure-data-factory azure-data-lake-gen2


【解决方案1】:

为了从 ADF 中的文件名创建文件夹。请按照以下步骤操作:

步骤1:

  • 首先用Get Metadata创建管道并添加child items

  • 创建一个变量。在我的场景中,val1 作为变量

第2步:

  • 连接获取元数据对于每个活动并添加子项的动态内容:@activity('Get Metadata1').output.childItems

里面forEach

  • 转到设置变量添加此动态内容:@substring(item().name ,0, lastindexof(item().name,'_')) 使用此动态表达式您将获得单个文件。因此,将设置变量与复制活动一起使用。

转到复制活动的来源 -> 打开数据集 -> 创建参数 -> 转到连接并添加文件的动态内容:@dataset().file_name

  • 转到接收器数据集 -> 创建两个参数,一个用于文件夹,另一个用于文件在我的场景中 folder1file12 作为参数。

  • 为文件夹添加动态内容:@dataset().folder1 和文件:@dataset().file12 连接

  • 然后去 sink -> 为文件夹添加动态内容:@variables('val1') 和文件:@item().name

管道运行成功。它写入具有所需名称的文件和文件夹。请看下图以供参考。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    相关资源
    最近更新 更多