【发布时间】:2018-12-09 14:10:20
【问题描述】:
我有一种特殊情况,当使用 LAG 与数组 (json) 中的输入数据结合使用时,流分析不会发送输出事件。
这是来自数据记录器的输入数据:
20.04.2019 16:05:04> 设备:[WISE-4012_00D0C9E43D10],数据:[{"PE": 1,"UID":"WISE-4012_00D0C9E43D10","TIM":"2019-04-20T16 :04:55+01:00","记录":[[0, 0, 1, 0],[0, 1, 1, 0],[0, 2, 1, 0],[0, 3, 1, 0]]}]
我在 azure 流分析中使用此查询:
SELECT
PE, UID, TIM,
UDF.DI1(InputIoThub) As DI1
FROM
[IoTHub]
WHERE
LAG(DI1, 1) OVER (LIMIT DURATION(minute, 1)) <> DI1
看起来 LAG 无法处理 UDF。
我将 UDF 替换为以下内容:
SELECT
PE, UID, TIM,
GetArrayElement(GetArrayElement(Record,0), 3) AS DI_1
INTO
[toPowerBI]
FROM
[IoTHub]
WHERE
LAG(DI_1, 1) OVER (LIMIT DURATION(minute, 1)) <> DI_1
但它也不起作用。
如果没有 WHERE clouse,流会生成正确的输出,所以我尝试使用 HAVING 代替但没有成功。
非常感谢您的帮助!
【问题讨论】:
标签: azure azure-stream-analytics