【发布时间】:2018-12-26 23:20:37
【问题描述】:
我有一个包含 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"
【问题讨论】:
-
你试过“复制数据”工具吗?它将帮助您排除接收器数据集中未映射的列。
-
是的,无论到目前为止的方法如何,我似乎都无法选择性地映射列而不是 1:1。在将数据加载到临时表后,我通过使用存储过程进行映射来解决这个问题,但这感觉像是一个不必要的额外步骤。
标签: json azure azure-data-factory azure-data-factory-2