【问题标题】:Stream Analytics Query working but no output to table流分析查询工作但没有输出到表
【发布时间】:2016-10-14 06:40:09
【问题描述】:

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

查询在查询编辑器中运行没有问题(使用示例输入文件进行测试时)并产生正确的输出,但在“真实”运行时,它不输出任何内容(输出表保持为空)。我什至尝试重命名表并输出到 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))

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

【问题讨论】:

    标签: azure azure-stream-analytics


    【解决方案1】:

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

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

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

    【讨论】:

    • 那为什么我在查询编辑器中测试时会立即得到结果?顺便说一句,最初我用更小的窗口(比如 5 - 30 秒)测试这个查询,但是,就像更大的窗口版本一样,它在查询测试器中给出了正确的输出,但一旦它不会向表中写入任何内容真正运行
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-13
      • 2021-01-24
      • 2017-08-12
      • 1970-01-01
      • 1970-01-01
      • 2021-12-07
      • 1970-01-01
      相关资源
      最近更新 更多