我有两个问题:
1)翻滚的窗户是如何工作的?
因此,假设我不断地发生事件,我会翻滚(小时,1)
然后,流分析将等待1小时,并分组,并给我一个记录
或者,一旦事件发生,它会给我记录,分组最后一个小时的数据?
( 2)在我的设想中,我要不断地付款,我需要当天的所有金额,每次交易时都要给我一笔钱。
因此,假设下面是我的事务数据
所以我们可以从图像中看到
发布于 2019-11-01 01:28:21
对于问题1,SA将等待1小时,然后分组,并给您一个记录作为输出。
每个窗口操作都输出窗口末尾的事件。的窗口在窗口开始时打开,在窗口结束时关闭。例如,如果您有一个从上午12:00到12:05的5分钟窗口,则此窗口将包括所有时间戳大于12:00的事件,并包含在12:05 AM之前的时间戳。窗口的输出将是基于聚合函数的单个事件,其时间戳等于窗口结束时间。
对于问题2,我相信您可以使用跳转窗口并定义最后1天(86400秒)的持续时间,如下所示:
SELECT Amount, SUM(Amount) as TotalTransactions
FROM <YourSAInput> TIMESTAMP BY TransactionDate
GROUP BY Amount, HoppingWindow(seconds, 86400, 1)跳转窗口规范由三个参数组成:时间单位、窗口大小(每个窗口持续多长时间)和hopsize (每个窗口相对于前一个窗口向前移动的次数)。
希望这能有所帮助。
https://stackoverflow.com/questions/58652404
复制相似问题