json - 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"
解决方案
在接收器数据集中删除您不想映射的列。
通过选择删除接收器中不需要的列,然后单击删除按钮
[
为了使副本顺利进行。
1.源数据集的所有列应具有相同的顺序。
2. 必须映射在 sink 数据集中选择的所有列。
推荐阅读
- go - 避免在 Go 中编写过多的 getter 和 setter
- python - 计算判别的数学域误差
- python - 如何在 Python3 中使用 App Engine 安排 Cloud Datastore 导出
- mysql - 插入包含大列字段的一批行时,语句关闭后不允许进行任何操作
- mysql - 将每个表的结果显示为行
- json - 使用 cerberus 深度嵌套的 json 验证器
- firebase - Cloud Firestore - 添加和查询布尔标志
- r - 美学必须是长度 1 或与数据 (1) 相同:颜色
- c# - 长度不能小于零 参数名称:length
- c# - 如何使用 C# 将十六进制转换为浮点数