gpt4 book ai didi

azure - 如何根据ADFv2中的文件名将文件复制到不同的目录

转载 作者:行者123 更新时间:2023-12-02 06:43:47 25 4
gpt4 key购买 nike

我正在尝试将文件复制到 ADLS 中的某个文件夹位置。这里我尝试根据文件名进行复制。这里我的源和目的地仅是 ADLS。

例如。

    If filename is ABC.csv then copy to ABC folder

If filename is DEF.csv then copy to DEF folder

If filename is XYZ.csv then copy to XYZ folder and so on.

请帮助我使用 Azure 数据工厂 v2 实现此目标。

我知道这在 SSIS 中是很容易的任务。但在 ADFv2 中,我尝试使用 Foreach 循环来迭代所有文件(我只有 3 个文件),并且在 foreach 循环内部有 IF 条件来检查文件名。不确定如何在运行时更改目标文件夹位置。

最佳答案

您可以使用接收器文件路径中的动态内容来实现此目的。因此,不要使用 if-then-else-logic 来定义目标文件夹,而是根据文件名动态构建它。

在以下示例中,目标文件夹是使用触发器开始时间动态构建的:

 "folder": {
"name": "Target"
},
"type": "AzureDataLakeStoreFile",
"typeProperties": {
"fileName": "",
"folderPath": {
"value": "@CONCAT('/tenant02/data/raw/corporate/hmaserver/Ingest_Date=', formatDateTime(trigger().startTime, 'yyyy-MM-dd/'))",
"type": "Expression"
}

在数据工厂 V2 UI 中编辑接收器数据集来执行此操作:

ADF Sink Dataset

在连接中添加动态内容:

Dynamic Content for sink

你可以做类似的事情,例如。 G。替换文件扩展名:

@replace(item().name, '.csv', '')

另一种选择可能是使用 Databricks 事件来实现此目的。看我的关注Answer用于 Python Notebook 中的复杂复制逻辑。

关于azure - 如何根据ADFv2中的文件名将文件复制到不同的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56627588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com