流分析查询工作但没有输出到 table

Stream Analytics Query working but no output to table

我的流分析作业有问题。我从物联网中心提取事件,并根据自定义时间戳将它们分组到时间窗口中;我已经编写了一个正确执行此操作的查询。但问题是它只是没有将任何内容写入我的输出 table(在我的存储帐户上是 NoSQL table)。

查询在查询编辑器中运行没有问题(使用示例输入文件进行测试时)并生成正确的输出,但是当 运行 'for real' 时,它不输出任何内容(输出 table 保持为空)。我什至尝试重命名 table 并输出到 blob 存储,但没有骰子。这是查询:

SELECT
    'general' AS partitionKey, 
    MIN(ID_frame) AS rowKey, 
    DATEADD(second, 1, DATEADD(hour, -3, System.TimeStamp)) AS window_start, 
    System.TimeStamp AS window_end, 
    COUNT(ID_frame) AS device_count
INTO
    [IoT-Hub-output-table]
FROM
    [IoT-Hub-input] TIMESTAMP BY custom_timestamp
GROUP BY TumblingWindow(Duration(hour, 3), Offset(second, -1))

有趣的是,如果我在查询中省略任何窗口,那么 table 输出就可以正常工作。 几天来我一直在为此苦苦思索,所以我想我已经尝试了大部分显而易见的事情。

由于您使用的是 3 小时的 TumblingWindow,这意味着您将每 3 小时获得一次输出,其中包含该时间段内所有事件的汇总。

那么您是否已经等待 3 个小时才能生成第一个输出?

我会尝试将 window 设置得更小,然后再次尝试查看输出是否正常。

结果查询 did 输出到我的 table,但是有一些我没有预料到的延迟;我最多等了 20-30 分钟。而第一次插入将在半小时后开始。因此,我在生成任何输出之前取消了 Analytics 作业,并错误地假设它不会输出任何内容。

在我注意到 'sometimes'(当工作 运行 足够长的时间)后,我发现情况确实如此,似乎有一些输出。在这些输出记录中,我注意到我的自定义时间戳字段和通用时间戳字段(引擎使用它来记住上次更新实体的时间)之间存在很大延迟