0

案例:我们有一个 1 天的聚合窗口,它将从事件中心接收到的总值相加(1、2、3……每分钟发送一个值),我们将输出设置为一个名为 1dayresult 的 blob。现在我们要获取 blob 数据作为另一个 1week 聚合输入,每周我们都想从 blob 中获取数据并进行计算,那么我们可以将 1day 结果 blob 设置为 1week 聚合的输入吗?我们知道可以将窗口单位设置为 7day,但我们认为这会降低性能,因为如果我们将 1day 结果 blob 作为输入,我们只需要 7 个值,但如果我们使用 7day 窗口,我们会得到超过 7*24*60 的值,然后进行计算。我们也希望有一个月的聚合,但是窗口的最大大小是 7 天。那么如何实现呢?

4

1 回答 1

1

您可以使用 WITH 语句将多个子查询“链接”在一起,其中下一个子查询可以使用前一个子查询的输出作为输入。看看这个文档

但是,正如您所指出的,有时将中间输出结果保存在 blob 存储或另一个事件中心会更有效。您可以将相同的存储位置定义为输入和输出,并且一个子查询可以在输出时另一个子查询正在读取。

Azure 流分析中的最大窗口大小确实是 7 天。对于涉及大量历史数据的更大尺寸的窗口计算,使用 Azure 数据工厂之类的产品可能会更好。

于 2016-05-23T03:51:44.253 回答