我需要对当天收集的所有事件进行计数,从 UTC 时间 0:00 到 23:59 每五分钟一次。
我在当前查询中使用流分析服务:
SELECT Cast(pid as bigint) as PublisherID,Cast(cid as bigint) as CampaignID, Count(*) as Count
INTO
[SQLTableClicks]
FROM
[Clicks]
GROUP BY pid,cid, TumblingWindow(Day,1)
它可以工作,但它每天只收集一次数据,我需要每五分钟更新一次信息。
最佳答案
我认为跳跃窗口正是您所需要的,它每 5 分钟就会给您一次结果,但是回顾一天。
尝试这样的事情(我没有运行它,但应该给你一个想法):
With data as
(
SELECT
Cast(pid as bigint) as PublisherID,
Cast(cid as bigint) as CampaignID,
Count(*) as Count,
System.TimeStamp as Time
FROM
[Clicks]
)
SELECT PublisherID, CampaignID, Count
INTO
[SQLTableClicks]
FROM
[data]
WHERE (DAY(System.TimeStamp) == Day(Time))
GROUP BY pid,cid, HoppingWindow(Duration(day, 1), Hop(minute, 5))
关于azure - 如何使用 StreamAnalitics 每 5 分钟统计当天的所有 azure EventHub 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48427651/