【问题标题】:Azure Data Factory - How to handle nested Array inside JSON data to import to Blob StorageAzure 数据工厂 - 如何处理 JSON 数据中的嵌套数组以导入 Blob 存储
【发布时间】:2019-10-06 20:28:41
【问题描述】:

我正在创建用于将 JSON 数据从 REST 源导入 Blob 存储的管道。 但是,我有一个问题,因为在包含主要数据的数组中有一个嵌套数组。

JSON 数据如下:

{
  "@odata.context": "<Context>",
  "@odata.nextLink": "<Next Link>",
  "value": [
    {
      "@odata.type": "<Type>",
      "reportRefreshDate": "2019-05-18",
      "userPrincipalName": "abc@xyz.net",
      "displayName": "abc",
      "isDeleted": false,
      "deletedDate": null,
      "hasExchangeLicense": true,
      "hasOneDriveLicense": true,
      "hasSharePointLicense": true,
      "hasSkypeForBusinessLicense": true,
      "hasYammerLicense": true,
      "hasTeamsLicense": true,
      "exchangeLastActivityDate": "2019-05-17",
      "oneDriveLastActivityDate": null,
      "sharePointLastActivityDate": null,
      "skypeForBusinessLastActivityDate": null,
      "yammerLastActivityDate": null,
      "teamsLastActivityDate": null,
      "exchangeLicenseAssignDate": "2019-03-19",
      "oneDriveLicenseAssignDate": "2018-07-06",
      "sharePointLicenseAssignDate": "2018-07-06",
      "skypeForBusinessLicenseAssignDate": "2018-05-22",
      "yammerLicenseAssignDate": "2018-05-22",
      "teamsLicenseAssignDate": "2018-05-22",
      "assignedProducts": [
        "OFFICE 365 E3",
        "OFFICE 365 E5"
      ]
    }
  ]
}

您可以在此处注意到,主数组“value”中有一个名为“assignedProducts”的嵌套数组

我将 blob 存储的架构定义如下:

当我定义源和接收器之间的映射时,我无法映射嵌套数组,它显示如下:

据我所知,可以为数组创建一个循环。但是对于嵌套数组来说,似乎很难。

谁能建议我应该如何处理嵌套数组?如果把这个数组转换成字符串或者别的什么的就更好了。

提前致谢:-)

【问题讨论】:

  • 我遇到了类似的问题 - 您找到解决方案了吗?我可以让嵌套数组将整个数组作为字符串输出,但只想从嵌套数组中提取一个值,但在 ADF 中找不到这样做的方法
  • 我认为目前,使用给定选项处理这种嵌套是不可能的。相反,我们可以使用 Azure Function App 或 Batch Service 进行处理。
  • 谢谢 - 您是否向 Microsoft 提出了问题?如果没有,我很乐意记录一张票
  • 这似乎与基本功能遥不可及。所以我没有,而是使用 Function App 来实现更复杂的功能。

标签: azure-blob-storage azure-data-factory


【解决方案1】:

我模拟了一些像你这样的示例数据:

[  
   {  
      "numberArray":[  
         "1",
         "2",
         "3"
      ],
      "name":"A"
   },
   {  
      "numberArray":[  
         "4",
         "5",
         "6"
      ],
      "name":"B"
   }
]

然后我如下配置我的 Blob 存储数据集,请将File Pattern 设置为Array of Objects。

结果:

【讨论】:

  • 很抱歉,您似乎在不使用任何架构和映射的情况下保存了数据。我的问题是当我使用 Mapping 和 Schema 时,我无法处理主数组中的嵌套数组
猜你喜欢
  • 2022-01-01
  • 2020-12-22
  • 2021-10-08
  • 2019-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-02
相关资源
最近更新 更多