我想要达到的目标:
- 我有一个包含以下列的 CSV (FlatnedListDocument.csv)
文档密钥、文档名称
示例值如下(此 CSV 文件中大约有 240,000 行):
12212,银河系搭便车徒步旅行者指南 12233,MoneyBall
- 我必须为 CSV 文件中的每一行创建一个 JSON 文件,供另一个实用程序使用(每行一个文件)。
- 我不知道如何将 CSV 表中的值推送到 ForEach 活动,以使其在 CSV 文件中迭代循环。
我想要达到的目标:
文档密钥、文档名称
示例值如下(此 CSV 文件中大约有 240,000 行):
12212,银河系搭便车徒步旅行者指南 12233,MoneyBall
这是在数据工厂中解决的一个非常有趣的问题。我看到的唯一选择是拥有一个带有 Sink 分区的数据流,该分区基于派生列输出文件。
当然,需要注意的是文件名必须是唯一的,因此我基于示例中的第一列(我将其命名为“Id”)。我不知道 280K 文件的性能如何,但这应该会得到你想要的结果。
我已经实现了以下帮助我解决了我遇到的核心问题(读取 CSV 文件并将值传递给 ForEach 循环)。
第 1 步和第 2 步不是核心问题的一部分,但会帮助其他阅读本文的人了解 FlattenedListDocument.csv 是如何出现的。
整体架构
第一步:调用Web服务获取JSON文件(XML文件作为数据集,JSON文件作为sink)。
第 2 步:创建数据流以展平文件。创建一个 CSV 作为接收器(并将接收器分成 100 个相等的部分(以允许 CSV 文件中最多增长 500,000 条记录)。
第 3 步:对文件进行查找并获取其内容(这最终将包含在 GetMetadata / ForEach 循环中,该循环调用另一个管道以提取每个文件的内容)。
第 4 步:使用 ForEach 循环提取内容(这将调用另一个 WebService,并将管道中查找的 Name 值作为参数)。