Azure流分析:滚动窗口

时间:2019-10-31 23:33:04

标签: azure

我有2个问题:

1)翻滚窗口如何工作?

因此,假设我有连续发生的事件,我会做Tumbling(hour,1)
然后Stream Analytics将等待1小时并将它们分组并给我1条记录

,或者一旦事件发生,它将给我记录最近1小时的分组数据?
>

2)在我的情况下,我连续付款,我需要当天的所有金额的总和,每次交易到来时它应该给我SUM。

所以假设下面是我的交易数据

Testdata

因此我们可以在图片中看到

  • 当交易到来时30/10/2019 5:08:06流分析应给予金额$ 10
    • 当交易到来时30/10/2019 5:08:07流分析应给予金额$ 20
    • 当交易到来时30/10/2019 5:08:08流分析应给予金额$ 30
    • 当交易到来时30/10/2019 6:08:09流分析应给予金额$ 40
    • 当交易到来时30/10/2019 7:08:11流分析应给予金额$ 50
    • 当交易到来时30/10/2019 11:08:12流分析应给予金额$ 60

1 个答案:

答案 0 :(得分:0)

对于问题1,SA将等待1个小时,然后分组并给您一条记录作为输出。

Windowing Functions (Azure Stream Analytics)

  

每个窗口操作在窗口末尾输出事件。 Azure Stream Analytics的窗口在窗口开始时间打开,并在窗口结束时间关闭。例如,如果您有一个从12:00 AM到12:05 AM的5分钟窗口,则所有时间戳大于12:00 AM且最大时间戳为12:05 AM的事件都将包含在此窗口中。窗口的输出将是一个单一事件,该事件基于使用与窗口结束时间相等的时间戳记的聚合函数。

对于问题2,我相信您可以使用“跳跃窗口”并定义最近1天(86400秒)的持续时间,如下所示:

SELECT Amount, SUM(Amount) as TotalTransactions 
FROM <YourSAInput> TIMESTAMP BY TransactionDate
GROUP BY Amount, HoppingWindow(seconds, 86400, 1)

Hopping Window (Azure Stream Analytics)

  

跳跃窗口规范由三个参数组成: timeunit windowsize (每个窗口持续多长时间)和 hopsize (由每个窗口相对于上一个窗口向前移动了多少。

希望这会有所帮助。