【问题标题】:How to export from sql server table to multiple csv files in Azure Data Factory如何从 sql server 表导出到 Azure 数据工厂中的多个 csv 文件
【发布时间】:2020-12-24 20:51:38
【问题描述】:

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

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

有什么想法吗?

【问题讨论】:

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


    【解决方案1】:

    您可以使用Data Flow 轻松实现。

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

    数据流源

    Data Flow Sink 设置: 文件名选项:作为列中的数据并使用自动映射。

    检查其中的输出文件和数据:

    HTH。

    【讨论】:

    • 感谢您的详细回答,这也是一种方法。
    • @Golan 不客气!我认为使用数据流要容易得多,只需选择您最喜欢的方式即可。如果回答对你有帮助,希望你能采纳。这对其他社区成员可能是有益的。谢谢你,圣诞快乐!
    【解决方案2】:

    您需要遵循以下流程图:

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

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

    步骤: 1)

    1. 批处理作业可以是任意 nbr 个并行执行

    1. 创建参数化数据集:

    5)

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

    输入:

    输出:

    【讨论】:

    • 没有工作...我收到此错误 - 目标 ForEach1 上的操作失败:活动失败,因为内部活动失败
    • @Golan :请参阅上面编辑的答案。这应该可以帮助您设置管道。注意:Country 等价于示例中的 Entity
    • Nandan ,非常感谢您的详细回答 - 它完美无瑕,谢谢!
    • @Golan 很高兴我能帮上忙 :) 希望你能接受它作为答案,因为这对其他社区成员也有好处。
    • 你好@Nandan。是否可以在复制数据活动中向源查询添加过滤器。例如 - 复制活动 i) 来源:Dynamic Query Select * from t1 where State=@item().State AND 我想在查询中添加一个按城市 = 'London' 的过滤器
    猜你喜欢
    • 2021-05-27
    • 1970-01-01
    • 2020-12-04
    • 1970-01-01
    • 2019-05-18
    • 2020-09-09
    • 2021-04-23
    • 1970-01-01
    • 2021-04-04
    相关资源
    最近更新 更多