【问题标题】:How do I use ADF copy activity with multiple rows in source?如何在源中使用多行的 ADF 复制活动?
【发布时间】:2019-06-23 20:48:42
【问题描述】:

我的源是 JSON 数组,接收器是 SQL 服务器。当我使用列映射并查看代码时,我可以看到映射已完成到数组的第一个元素,因此尽管源有多个记录,但每次运行都会产生单个记录。如何使用复制活动来导入所有行?

 "enableStaging": false,
                    "translator": {
                        "type": "TabularTranslator",
                        "schemaMapping": {
                            "['@odata.context']": "BuyerFinancing",
                            "['@odata.nextLink']": "PropertyCondition",
                            "value[0].AssociationFee": "AssociationFee",
                            "value[0].AssociationFeeFrequency": "AssociationFeeFrequency",
                            "value[0].AssociationName": "AssociationName",

【问题讨论】:

    标签: azure-data-factory azure-data-factory-2


    【解决方案1】:

    使用 * 作为源字段表示所有 json 格式的元素。以json为例:

    {
    "results": [
         {"field1": "valuea", "field2": "valueb"},
         {"field1": "valuex", "field2": "valuey"}
        ]
    }
    

    和一个带有列结果的数据库表来存储 json。结果作为集合和 * 和子元素的映射将创建两条记录:

    {"field1": "valuea", "field2": "valueb"}
    {"field1": "valuex", "field2": "valuey"}
    

    在结果字段中。

    Copy Data Field Mapping

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 我有点困惑这种格式的位置。它会进入我的管道源吗?
      • 您的源数据集。您可以使用 ADF UI 来帮助您生成管道。在数据集,连接选项卡中,您选择json格式,然后有一个按钮供您解析json。
      • 我的来源是Rest resource,我没有选择json作为格式。
      • 对于rest source,在mapping选项卡下还有一个collectionReference定义。你可以用那个。请参考这个。 docs.microsoft.com/en-us/azure/data-factory/…
      • @FangLiu 是否可以从看起来像 {UserIds:["1","2","3"]} 的数组中获取数据?我希望输出成为每个 Id 将继续单独的行
      猜你喜欢
      • 2021-06-20
      • 2021-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-29
      • 1970-01-01
      • 2022-09-02
      • 1970-01-01
      相关资源
      最近更新 更多