Azure 流分析如何展平 json 数组
Posted
技术标签:
【中文标题】Azure 流分析如何展平 json 数组【英文标题】:Azure stream analytics how to flatten json array 【发布时间】:2020-10-27 05:27:38 【问题描述】:我有一个任务需要展平一些 json 数组 假设我的示例 json 是并且我想展平两个数组 temperature_Readings 和空气污染读数,即我的结果必须有 5 行并且 air_pollution(array value) 的列应该为空
我该怎么做?
示例 JSON
"sensor_readings":
"readings":
"temperature_readings": [
"date": "02-02-2020",
"hour": "12",
"second": "00",
"temperature": "22.12C"
,
"date": "02-02-2020",
"hour": "13",
"second": "00",
"temperature": "22.2C"
,
"date": "02-02-2020",
"hour": "14",
"second": "00",
"temperature": "12.12C"
,
"date": "02-02-2020",
"hour": "15",
"second": "00",
"temperature": "22.12C"
,
"date": "02-02-2020",
"hour": "16",
"second": "00",
"temperature": "22.12C"
]
,
"air_pollution_readings":
[
"date": "02-02-2020",
"hour": "12",
"second": "00",
"element":"o3",
"particulate": "2.2"
,
"date": "02-02-2020",
"hour": "13",
"second": "00",
"element":"o3",
"particulate": "2.1"
]
,
"siteid": "a1234566",
"deviceid": "2343434"
谢谢 问候 普里亚
【问题讨论】:
【参考方案1】:这里有一个关于如何“解包”你的读数数组的想法。
with sensorReadings as (Select sensor_readings.readings.temperature_readings from input),
inputValues as (Select message.ArrayValue as Data from sensorReadings CROSS APPLY GetArrayElements(sensorReadings.temperature_readings) as message)
SELECT *
INTO output
FROM inputValues
【讨论】:
感谢我能够使用 GetArrayElements 解压缩数组,但我真正的问题是展平两个数组并将它们连接起来,这样我就有 5 个温度值和 2 个空气污染数组跨度> 好的,你如何将 5 行温度映射到 air pol 的 2 项。 ?基于哪些标准,或类似的标准?以上是关于Azure 流分析如何展平 json 数组的主要内容,如果未能解决你的问题,请参考以下文章