Azure数据工厂 - 复制活动映射



我正在尝试将数据从JSON文件复制到数据库。数据库上有两个列,需要用相同的JSON字段填充。但是,如果我进行此映射,则在运行活动时会出现错误:An item with the same key has already been added。是否不可能将此映射到许多映射?

源数据集模式中的一列映射到目标中的多个列中的一列不支持ADF中的多个列。

,但是还有其他方法可以通过更改源数据集模式来使其具有重复的列。然后,您可以使用这些重复的列来映射到差异目标列。

喜欢SQL数据集,您可以使用SQL查询,例如" Select Column1 as Column1a,Column1,column1 as column1b从XXX"中获取源数据集中的重复列。然后,您可以将列1a映射到destcol1,column1b到destcol2。

对于JSON文件,在这种情况下,您可以使用JSONPATHDEFINITION定义重复列。参考https://learn.microsoft.com/en-us/azure/data-factory/supported-file-file-formats-and-compression-compression-codecs#json-format

例如,您的JSON具有

之类的格式
{"a":1,"b":2}

然后您可以设置数据集格式属性,例如

"format": {
    "type": "JsonFormat",
    "filePattern": "setOfObjects",
    "jsonPathDefinition": {
        "a1": "$.['a']",
        "b": "$.['b']",
        "a2": "$.['a']"
    }
},

它将在源数据集模式中创建3列A1,B,A2,其中A1和A2参考相同的JSON字段a。然后,您将能够将这些列映射到目的地的不同列。

谢谢

相关内容

  • 没有找到相关文章

最新更新