1

我在 sql server 中有一个简单的 clients 表,其中包含 2 列 - client name 和 city。在 Azure 数据工厂中,如何将此表导出到多个 csv 文件,每个文件将仅包含来自同一城市的客户列表,这将是文件的名称

我已经尝试并成功使用lookup 和 foreach将其拆分为不同的文件,但数据仍未被城市过滤

有什么想法吗?

4

2 回答 2

2

您需要遵循以下流程图:

  1. 查找活动:查询:从表中选择不同的城市
  2. 对于每个活动
    输入:@activity('LookUp').output.value a)复制活动 i)来源:动态查询 Select * from t1 where city=@item().City

这应该根据需要为每个国家/地区生成单独的文件

步骤:1) 在此处输入图像描述

  1. 批处理作业可以是任意 nbr 个并行执行 在此处输入图像描述

在此处输入图像描述

  1. 创建参数化数据集: 在此处输入图像描述

在此处输入图像描述

5) 在此处输入图像描述

结果:我有 2 个不同的实体,因此生成了 2 个文件。

输入 :

在此处输入图像描述

输出:

在此处输入图像描述

于 2020-12-23T10:16:19.833 回答
2

您可以使用数据流轻松实现这一目标。

我给你做了一个例子。我创建一个表作为源,将此表导出到多个 csv 文件,每个文件将仅包含来自同一城市的客户列表,这将是文件的名称。

数据流源在此处输入图像描述

数据流接收器设置:文件名选项:作为列中的数据并使用自动映射。 在此处输入图像描述

检查其中的输出文件和数据: 在此处输入图像描述

在此处输入图像描述

HTH。

于 2020-12-24T03:43:34.800 回答