Azure Data Factory 2:如何将一个文件分割成多个输出文件

问题描述 投票:0回答:1

我正在使用Azure数据工厂,并且正在寻找“查找”活动的补充。基本上,我希望能够将一行写到文件中。

这里是设置:

  • 使用查找活动从Blob存储中的CSV文件读取
  • 将其输出连接到For Each
    • 在For Each中,获取每条记录(Lookup活动读取的文件中的一行),并将其写入动态命名的不同文件中。

有关如何实现这一目标的任何线索?

azure-data-factory-2 azure-blob-storage
1个回答
0
投票

数据流对此可能会更好,但是作为一个快速技巧,您可以执行以下操作以在管道中逐行读取文本文件:

  1. 定义源数据集以将一行输出为单列。通常,我会为此使用“ NoDelimiter”,但是Lookup不支持该功能。解决方法是,使用不正确的列定界符(例如|或\ t表示CSV文件)定义它。您还应该转到“架构”选项卡,然后清除架构。这将在输出中生成一个名为“ Prop_0”的列。

  2. 在foreach活动中,将Items设置为Lookup的“ output.value”并选中“ Sequential”。enter image description here

  3. 在foreach中,您可以使用item()。Prop_0来抓取该行的文本:enter image description here

  4. 据我所知,管道并不直接支持创建blob [因此,我在上面的建议中研究数据流]。但是,在Logic Apps中执行此操作非常简单。如果要解决此问题,我将创建一个带有HTTP Request Received触发器的逻辑应用程序,然后通过Web活动从ADF调用它,并在有效负载中发送文本行和动态文件名。

© www.soinside.com 2019 - 2024. All rights reserved.