sql - Azure 流分析查询返回 0 行
问题描述
我有来自 KEPServerEx 的带有嵌套列表的数据,因此我需要 CROSS APPLY 以将单个值从传入流发送到我的 blob。我利用这篇文章(通过 cql 流分析迭代 json msg 中的嵌套列表)让查询工作了几分钟,但无法再获得正确的输出。
一条消息如下所示:
[
{
"timestamp": 1575933997508,
"values": [
{
"id": "Channel1.Device1.RANDOM1",
"v": 5,
"q": 1,
"t": 1575933987573
},
{
"id": "Channel1.Device1.RANDOM1",
"v": 196,
"q": 1,
"t": 1575933988076
},
{
"id": "Channel1.Device1.RANDOM1",
"v": 56,
"q": 1,
"t": 1575933988570
},
{
"id": "Channel1.Device1.RANDOM1",
"v": 104,
"q": 1,
"t": 1575933989077
},
{
"id": "Channel1.Device1.RANDOM1",
"v": 24,
"q": 1,
"t": 1575933989567
},
{
"id": "Channel1.Device1.RANDOM1",
"v": 177,
"q": 1,
"t": 1575933990069
},
{
"id": "Channel1.Device1.RANDOM1",
"v": 168,
"q": 1,
"t": 1575933990575
},
{
"id": "Channel1.Device1.RANDOM1",
"v": 113,
"q": 1,
"t": 1575933991067
},
{
"id": "Channel1.Device1.RANDOM1",
"v": 189,
"q": 1,
"t": 1575933991572
},
{
"id": "Channel1.Device1.RANDOM1",
"v": 96,
"q": 1,
"t": 1575933992075
},
{
"id": "Channel1.Device1.RANDOM1",
"v": 15,
"q": 1,
"t": 1575933992567
},
{
"id": "Channel1.Device1.RANDOM1",
"v": 179,
"q": 1,
"t": 1575933993074
},
{
"id": "Channel1.Device1.RANDOM1",
"v": 22,
"q": 1,
"t": 1575933993569
},
{
"id": "Channel1.Device1.RANDOM1",
"v": 98,
"q": 1,
"t": 1575933994073
},
{
"id": "Channel1.Device1.RANDOM1",
"v": 9,
"q": 1,
"t": 1575933994575
},
{
"id": "Channel1.Device1.RANDOM1",
"v": 142,
"q": 1,
"t": 1575933995071
},
{
"id": "Channel1.Device1.RANDOM1",
"v": 54,
"q": 1,
"t": 1575933995576
},
{
"id": "Channel1.Device1.RANDOM1",
"v": 174,
"q": 1,
"t": 1575933996070
},
{
"id": "Channel1.Device1.RANDOM1",
"v": 188,
"q": 1,
"t": 1575933996567
},
{
"id": "Channel1.Device1.RANDOM1",
"v": 45,
"q": 1,
"t": 1575933997073
}
]
}
]
我用来成功地将上述消息值列表拆分为单个值的查询是:
SELECT
event.timestamp as messageTS,
[values].ArrayValue.id,
[values].ArrayValue.v,
[values].ArrayValue.t as valueTS
FROM
brewingmqtt AS event
CROSS APPLY getarrayelements(event.eachvalue) AS [values]
不幸的是,这现在在执行测试时给了我 0 行返回,我无法弄清楚我错过了什么。
解决方案
推荐阅读
- typescript - 使用类实例作为 Typescript Map 中的键
- angular - 从多个面板列表之一单击时,将垫子扩展面板设置为页面顶部
- android-studio - 键盘和快捷键在 Windows 的 Android Studio 中不起作用
- parsing - ANTLR 列表以空格分隔
- php - 语法错误,php shell 代码中的意外 (T_VARIABLE)
- c++ - 如何使用 C++ SDK 修复同步调用的 aws lambda 超时?
- c# - 装饰多个实现的接口之一
- mysql - 如何使用 JOIN 和多个排序条件创建 MySQL 5.6 Rank
- javascript - 用于将 .csv 转换为 .html 并处理多个文件的 Powershell 脚本
- dynamics-business-central - 如何在 AL 中发送获取请求