【问题标题】:How to rename files, as they are copied to a datalake from blob storage, with adf如何使用 adf 重命名文件,因为它们从 blob 存储复制到数据湖
【发布时间】:2021-02-20 21:27:06
【问题描述】:

我正在执行从 blob 存储到 Gen2 数据湖存储的复制活动。正常的复制活动复制所有内容而不进行扩展。我希望这些文件名用“filename.extension”重命名。我怎样才能做到这一点?

【问题讨论】:

  • 您要复制的文件类型是什么?
  • 你能告诉我们水槽的配置吗?
  • 嗨@PUser,如果我在答案中理解错误,请纠正我。
  • @JosephXu HI,感谢您的回答并抱歉延迟,尽管我有二进制,即源和接收器。我试过你的方法,据我记得它不允许我更改名称。只是为了做得快,我使用了 powershell。它的工作,但它的一个额外的步骤。还没找到数据工厂的解决方案

标签: azure-data-factory azure-data-factory-2


【解决方案1】:

是的,我们可以在复制活动期间重命名这些文件名。但是我们需要使用 GetMetadata 活动和 ForEach 活动,并在 ForEach 活动中执行复制活动。

这是我为实现这一目标所做的。

  1. 首先,我们可以在 GetMetadata 活动中使用Child items 来获取源文件列表。

  2. 在 ForEach 活动中,我们可以使用@activity('Get Metadata1').output.childItems foreach 源文件列表。

  3. 在 ForEach 活动中,我们可以设置一个 Copy 活动并使用表达式@item().name 从源文件列表中获取一个文件。

  4. 然后在 sink 数据集中,点击Open
    我们可以在这里添加动态内容,这里我使用表达式@concat('20201110-',item().name) 来重命名文件名。

  5. 我运行调试后,我们可以看到文件名已经按照规则重命名了。

【讨论】:

    猜你喜欢
    • 2020-01-23
    • 1970-01-01
    • 2020-04-25
    • 1970-01-01
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    • 2021-11-22
    • 2019-01-17
    相关资源
    最近更新 更多