首页 > 解决方案 > ADFv2 中的列映射问题

问题描述

我有一个包含 21 列的源 .csv 和一个包含 25 列的目标表。

并非源中的所有列在目标表中都有主目录,并且并非目标表中的所有列都来自源。

我无法让我的 CopyData 任务让我选择我想要的映射方式。到目前为止,我可以让它工作的唯一方法是将源数据加载到具有 1:1 映射的“保留”表中,然后执行存储过程以将该表中的数据插入最终目标。

我已经尝试更改源和目​​标上的模式以匹配,但它仍然出错,因为 ACTUAL 源的列比目标多,反之亦然。

这不可能是实现这一目标的最有效方法,但我不知道如何让它发挥作用。

返回的错误代码是以下方面的一些变化:

"errorCode": "2200",
    "message": "ErrorCode=UserErrorInvalidColumnMappingColumnCountMismatch,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Invalid column mapping provided to copy activity: '{LONG LIST OF COLUMN MAPPING HERE}', Detailed message: Different column count between target structure and column mapping. Target column count:25, Column mapping count:16. Check column mapping in table definition.,Source=Microsoft.DataTransfer.Common,'",
    "failureType": "UserError",
    "target": "LoadPrimaryOwner"

标签: jsonazureazure-data-factoryazure-data-factory-2

解决方案


在接收器数据集中删除您不想映射的列。

通过选择删除接收器中不需要的列,然后单击删除按钮

[通过选择删除接收器中不需要的列,然后单击删除按钮[1]

为了使副本顺利进行。

1.源数据集的所有列应具有相同的顺序。
2. 必须映射在 sink 数据集中选择的所有列。


推荐阅读