gpt4 book ai didi

Azure 流分析 : When does a stream analytics job actually process data if the job query is a day wise TUMBLINGWINDOW?

转载 作者:行者123 更新时间:2023-12-03 02:15:35 24 4
gpt4 key购买 nike

上下文

我使用 Azure 门户创建了一个流作业,该门户使用每日 TUMBLINGWINDOW 聚合数据。下面附加了一个从文档修改而来的代码片段,它显示了类似的逻辑。

SELECT
DATEADD(day, -1, System.Timestamp()) AS WindowStart
System.Timestamp() AS WindowEnd,
TollId,
COUNT(*)
FROM Input TIMESTAMP BY EntryTime
GROUP BY TumblingWindow(day, 1), TollId

问题

如果 TUMBLINGWINDOW 在窗口末尾输出(如果我在任何给定日期的午夜开始工作,则意味着第二天午夜过后不久)那么白天数据仍在处理还是仅根据查询输出的时间进行处理?

如果能详细解释一下它是如何工作的那就太好了。还没有找到任何真正详细解释这些概念的文档(带有这些边缘情况)

想法

我正在尝试衡量如果我停止一个作业的运行并从“上次停止时”重新启动它,它是否仍然会导致相同的聚合,就好像我一直将它保持打开状态一样(如果会的话)如何)?请记住我正在使用日间滚动窗口?

最佳答案

滚动窗口的输出时间是绝对的,不依赖于查询开始时间。每日滚动窗口在 00:00:00AM 生成输出,每小时生成一个输出(00:00:00AM、01:00:00AM...)等。

所以这里的作业等待 24 小时,耐心地将数据加载到内存中,直到凌晨 00:00,以便它可以执行计算并输出结果。然后它又开始等待。

在这里,通过每日窗口,没有什么可以阻止您从上午 00:01 到下午 23:59 停止作业。

(编辑 - 这不正确 - 已在下面修复)请注意,当您启动它时,start time option需要覆盖缺失的时间(因此要么是“上次启动时”——因为我们检查点数据——要么是 24 小时前的自定义时间)。

(更正)请注意,当您启动它时,start time option需要覆盖您想要覆盖的输出窗口 - ASA 将重新加载所有必要的数据,即使是在该时间之前。你用开始时间驱动的是输出时间,而不是数据输入周期。

只要数据仍然存在(请注意事件中心的保留期,默认为 1 天),您可以暂停整整一周,并让作业重新处理整个期间以发出 7 个结果。为此,您只需要一个涵盖该时间段的开始时间。

请注意,重新摄取整个数据集并计算其操作需要时间。因此,如果您绝对需要每日平均值在上午 00:00:00 输出,请提前几分钟重新启 Action 业,以便它可以 catch 。否则,您将在 00:00:10AM(或将数据重新加载到内存中所需的任何时间)获得该输出。

关于Azure 流分析 : When does a stream analytics job actually process data if the job query is a day wise TUMBLINGWINDOW?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71339553/

24 4 0