Azure 数据工厂无法读取 YouTube 报告 API JSON 文件的架构
Azure Data Factory is unable to read schema of YouTube Reporting API JSON file
我正在使用 YouTube 分析和报告 API 从 Youtube 频道获取性能数据并将其以编程方式存储在 Azure 的数据工厂 (ADF) 中。从 YouTube API,我得到以下 JSON 输出格式:
{
"kind": "youtubeAnalytics#resultTable",
"columnHeaders": [
{
"name": string,
"dataType": string,
"columnType": string
},
... more headers ...
],
"rows": [
[
{value}, {value}, ...
]
]
}
请参阅此处 link:https://developers.google.com/youtube/analytics/reference/reports/query#response
此 GET 请求的响应在 blob 存储中保存为 JSON 文件。下一步,我想将此 JSON 文件中的数据复制到 Azure 的 SQL 数据库中。此时,Azure 数据工厂无法正确读取 JSON 的架构。不知何故,“行”部分中的“数组中的数组”语法和缺少的“键”分类(因为它在列标题中,例如“名称”:字符串)不可读,请参见屏幕截图:JSON schema in ADF
显然,Azure 只允许 arrayofObjects:
https://docs.microsoft.com/en-gb/azure/data-factory/format-json
如果我手动更改行部分中的 synthax,因为它是用于 columnHeader 的,那么架构将被正确读取,这向我证明 ADF 无法处理多个数组。由于这应该是一个自动化过程,手动解决方法不是一个选项,仅用于测试目的。
谁能告诉我 Azure 如何正确读取 JSON 文件并将数据复制到 SQL 数据库中?
使用数据流对我来说看起来不太有前途,但它可能包含一些我不知道的数据转换功能。谢谢你帮我!
实际上,数据工厂可以正确读取JSON文件并将数据复制到SQL数据库中。但限制是并非所有 JSON 文件都可以正确加载到 Azure SQL 数据库中。
例如对于嵌套的JSON文件,我们需要先进行数据流的模式转换和手动操作,然后才能很好地加载数据。根据我的经验,我们通常需要使用相同的 JSON 文件创建源,获取我们需要的数组数据,然后将它们连接在一起以获得预期的数据。
而你的JSON文件是嵌套的JSON,rows的值是一个数组数据,我们必须做这些事情。否则我们会出错,管道将无法工作。
HTH.
我正在使用 YouTube 分析和报告 API 从 Youtube 频道获取性能数据并将其以编程方式存储在 Azure 的数据工厂 (ADF) 中。从 YouTube API,我得到以下 JSON 输出格式:
{
"kind": "youtubeAnalytics#resultTable",
"columnHeaders": [
{
"name": string,
"dataType": string,
"columnType": string
},
... more headers ...
],
"rows": [
[
{value}, {value}, ...
]
]
}
请参阅此处 link:https://developers.google.com/youtube/analytics/reference/reports/query#response
此 GET 请求的响应在 blob 存储中保存为 JSON 文件。下一步,我想将此 JSON 文件中的数据复制到 Azure 的 SQL 数据库中。此时,Azure 数据工厂无法正确读取 JSON 的架构。不知何故,“行”部分中的“数组中的数组”语法和缺少的“键”分类(因为它在列标题中,例如“名称”:字符串)不可读,请参见屏幕截图:JSON schema in ADF
显然,Azure 只允许 arrayofObjects: https://docs.microsoft.com/en-gb/azure/data-factory/format-json
如果我手动更改行部分中的 synthax,因为它是用于 columnHeader 的,那么架构将被正确读取,这向我证明 ADF 无法处理多个数组。由于这应该是一个自动化过程,手动解决方法不是一个选项,仅用于测试目的。
谁能告诉我 Azure 如何正确读取 JSON 文件并将数据复制到 SQL 数据库中? 使用数据流对我来说看起来不太有前途,但它可能包含一些我不知道的数据转换功能。谢谢你帮我!
实际上,数据工厂可以正确读取JSON文件并将数据复制到SQL数据库中。但限制是并非所有 JSON 文件都可以正确加载到 Azure SQL 数据库中。
例如对于嵌套的JSON文件,我们需要先进行数据流的模式转换和手动操作,然后才能很好地加载数据。根据我的经验,我们通常需要使用相同的 JSON 文件创建源,获取我们需要的数组数据,然后将它们连接在一起以获得预期的数据。
而你的JSON文件是嵌套的JSON,rows的值是一个数组数据,我们必须做这些事情。否则我们会出错,管道将无法工作。
HTH.