首页 > 解决方案 > 将 Azure 数据工厂中的 JSON 表数组数据从 Log Analytics REST API JSON 响应转换为同一文件中的多个 JSON 文档

问题描述

我目前正在尝试通过其 REST API 从 Log Analytics 中提取数据。我已成功使用复制数据活动将响应存储在 Azure Data Lake Gen 2 帐户中。

该格式与Log Analytics API Reference Page中的示例大致相似。

{
"tables": [
    {
        "name": "PrimaryResult",
        "columns": [
            {
                "name": "Category",
                "type": "string"
            },
            {
                "name": "count_",
                "type": "long"
            }
        ],
        "rows": [
            [
                "Administrative",
                20839
            ],
            [
                "Recommendation",
                122
            ],
            [
                "Alert",
                64
            ],
            [
                "ServiceHealth",
                11
            ]
        ]
    }
] }

我的数据集更大,列更多,值更多等,但原则是相同的。我想要做的是生成一个新的 JSON 文件,该文件将保存表格,但同一文件中有多个文档,例如

[{
"Category": "Administrative",
"count_": 20839
},
{
    "Category": "Recommendation",
    "count_": 122
},
{
    "Category": "Alert",
    "count_": 64
},
{
    "Category": "ServiceHealth",
    "count_": 11
}]

其输出将被存储回数据湖,然后理想情况下可以用作复制活动的来源,以进入 Azure SQL 数据库。

我已经尝试使用数据流扁平化来完成此操作,但直到此时为止,它还没有成功,因为当尝试映射列名时,它看不到单个列名,只是定义了列名的文档的那个级别。

我将如何展平数据集以使其按需要显示?这是对数据流的不切实际的期望,还是这个任务更适合 Azure Databricks 之类的东西?

展开选项

列映射

标签: jsonazureazure-data-factoryazure-data-flow

解决方案


推荐阅读