【问题标题】:Azure Synapse Analytics adding source file name as column value in sink in pipelines copy dataAzure Synapse Analytics 在管道复制数据的接收器中添加源文件名作为列值
【发布时间】:2022-01-27 17:16:46
【问题描述】:

我正在使用 Azure Synapse Analytics 管道在 Azure Blob 存储中复制一些 excel 数据文件,并将它们的内容复制到 Azure Synapse Analytics 中的专用 SQL 数据库中。我正在使用复制数据活动。在 Azure 数据工厂中,可以在源文件中定义一个附加列,并通过引用源文件名称的 $$FILEPATH 填充其值。但是,在 Synapse Analytics 中,不允许在接收器中指定其他列。当我尝试调试管道时,出现错误:

使用复制命令时不允许指定额外的列。

这就是我在源代码中定义一个新列的意思以及我得到的错误:

错误如下:

将源文件的名称复制到接收器中表的每一行以便能够跟踪数据的来源的最佳解决方法是什么?我更喜欢使用管道而不是数据流,因为管道更容易开发且成本更低。但是任何可以解决这个问题的解决方案都是好的。

【问题讨论】:

  • 我之前没有做过,所以我只是猜测。在接收器属性、复制行为下,有一个“添加动态内容”选项。你能用那个吗?

标签: azure azure-data-factory azure-synapse


【解决方案1】:

您可能在 sink 下选择了 copy method 作为copy command

如错误消息所述,使用复制命令时不允许附加列

若要在涉及其他列时将数据从 azure 存储复制到突触数据库,请将 复制方法 更改为 bulk insert

输入:

复制数据来源:

复制数据接收器:

输出:

【讨论】:

    猜你喜欢
    • 2021-03-18
    • 2021-12-27
    • 2022-08-12
    • 2019-01-22
    • 2020-09-18
    • 2021-09-30
    • 1970-01-01
    • 2022-01-24
    • 2021-09-19
    相关资源
    最近更新 更多