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

Azure数据工厂-复制活动映射,azure,azure-sql-database,azure-data-factory,azure-data-lake,Azure,Azure Sql Database,Azure Data Factory,Azure Data Lake,我正在尝试将数据从json文件复制到数据库。数据库中有两列需要用相同的json字段填充。但是,如果执行此映射,则在运行“活动”时会出现错误:已添加具有相同键的项。无法执行此一对多映射吗?ADF尚不支持将源数据集架构中的一列映射到目标中的多列 但是还有其他方法可以实现这一点,通过改变源数据集模式,让它有一个重复的列。然后可以使用这些重复列映射到不同的目标列 和SQL数据集一样,您可以使用类似“从xxx中选择column1作为column1A,column1作为column1B”的SQL查询来获取源

我正在尝试将数据从json文件复制到数据库。数据库中有两列需要用相同的json字段填充。但是,如果执行此映射,则在运行“活动”时会出现错误:
已添加具有相同键的项
。无法执行此一对多映射吗?

ADF尚不支持将源数据集架构中的一列映射到目标中的多列

但是还有其他方法可以实现这一点,通过改变源数据集模式,让它有一个重复的列。然后可以使用这些重复列映射到不同的目标列

和SQL数据集一样,您可以使用类似“从xxx中选择column1作为column1A,column1作为column1B”的SQL查询来获取源数据集中的重复列。然后可以将列1A映射到destCol1,将列1B映射到destCol2

对于本例中的JSON文件,可以使用jsonPathDefinition定义重复的列。 参考文献

例如,您有一个json,格式如下

{"a":1,"b":2}
然后可以设置dataset format属性,如

"format": {
    "type": "JsonFormat",
    "filePattern": "setOfObjects",
    "jsonPathDefinition": {
        "a1": "$.['a']",
        "b": "$.['b']",
        "a2": "$.['a']"
    }
},
它将在源数据集模式中创建3列a1、b、a2,其中a1和a2引用相同的json字段a。然后,您将能够将这些列映射到目标中的不同列


谢谢,ADF还不支持将源数据集架构中的一列映射到目标中的多列

但是还有其他方法可以实现这一点,通过改变源数据集模式,让它有一个重复的列。然后可以使用这些重复列映射到不同的目标列

和SQL数据集一样,您可以使用类似“从xxx中选择column1作为column1A,column1作为column1B”的SQL查询来获取源数据集中的重复列。然后可以将列1A映射到destCol1,将列1B映射到destCol2

对于本例中的JSON文件,可以使用jsonPathDefinition定义重复的列。 参考文献

例如,您有一个json,格式如下

{"a":1,"b":2}
然后可以设置dataset format属性,如

"format": {
    "type": "JsonFormat",
    "filePattern": "setOfObjects",
    "jsonPathDefinition": {
        "a1": "$.['a']",
        "b": "$.['b']",
        "a2": "$.['a']"
    }
},
它将在源数据集模式中创建3列a1、b、a2,其中a1和a2引用相同的json字段a。然后,您将能够将这些列映射到目标中的不同列


谢谢

请用一些例子解释alog以下线程可能有用:请用一些例子解释alog以下线程可能有用: