如何将输出作为另一个输入?

时间:2016-05-23 01:13:42

标签: azure-stream-analytics

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

1 个答案:

答案 0 :(得分:1)

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

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

Azure Stream Analytics中的最大窗口大小确实是7天。对于涉及更大量历史数据的更大尺寸窗口计算,最好使用Azure Data Factory等产品。