1

我在 Azure 中创建了流分析作业,我想在 Power BI 中显示结果。这项工作非常简单,因为我要做的就是每 1 秒显示过去 10 分钟内发生的事件数。但是,当最后 10 分钟过去时,我需要重置计数器,这意味着我希望窗口在 10 分钟后重新启动。

我有以下选择:

  • 使用持续时间为 10 分钟的翻转窗口:不,因为这不会每 1 秒显示一次结果,而是在 10 分钟后显示
  • 使用 Hopping 窗口:HoppingWindow(Duration(minute, 10), Hop(second, 1))。这在前 10 分钟内有效,但在那之后就不行了,因为它会跳动 1 秒。
  • 使用大小为 10 分钟的滑动窗口:否,因为当事件发生时它会滑动 10 分钟
  • 使用 SessionWindow:否,因为会话窗口仅在窗口关闭时才返回输出。

我想不出一个解决方案,因为我的目标是一个窗口,它会扩展直到达到最长 10 分钟的持续时间(然后它会重新打开)并每隔一秒产生一次输出。欢迎任何帮助。

4

1 回答 1

0

首先,我认为这是一个普遍的要求。作为您在问题中自己总结的每个窗口的详细限制,ASA 没有满足您要求的窗口类型:

每 1 秒刷新一次指标,每 10 分钟重置一次指标。

显然,Hopping 窗口是比较符合您的需求的。但是,它不会每 10 分钟重置一次数字。众所周知,在 Azure 流分析中,所有的 Window 函数都定义在一个固定长度的作业中,并且该作业需要连续执行。不支持此类重置功能。

我能想到的唯一想法仍然是使用跳跃窗口并每 10 分钟手动重新启动一次作业。请看这篇文章。它可以强制作业每次计算前 10 分钟。我知道这可能有点不精确,但是如果您没有其他选择,您可以尝试一下,看看您是否可以接受。

于 2019-09-11T07:25:16.520 回答