如何使用流分析计算单个窗口中的事件数?

Posted

技术标签:

【中文标题】如何使用流分析计算单个窗口中的事件数?【英文标题】:How to count the number of events in a single window with Stream analytics? 【发布时间】:2017-05-17 01:17:16 【问题描述】:

我正在尝试创建一个使用 StreamAnalytics 的 SlidginWindow 函数并在 5 分钟内输出五个以上事件的查询

虽然用下面的代码可以统计是否有记录,但是这种情况是1记录5事件所以不能用

SELECT
   COUNT(*)
FROM
   TABLENAME
GROUP BY 
   SlidingWindow(minute, 5) 
HAVING COUNT
   (*) >= 4 

【问题讨论】:

【参考方案1】:

“1 记录 5 事件”是什么意思?如果您的事件具有包含数组的复杂属性,则可以使用 CROSS APPLY 和 GetArrayElements 展开每个项目并执行计算。这是 MS 文档:

交叉申请 - https://msdn.microsoft.com/en-us/library/azure/dn706229.aspx

GetArrayElements - https://msdn.microsoft.com/en-us/library/azure/mt298451.aspx

【讨论】:

以上是关于如何使用流分析计算单个窗口中的事件数?的主要内容,如果未能解决你的问题,请参考以下文章

流分析和流位置

Azure 流分析 - 计算线性回归

如何在 Azure 流分析中创建延迟滑动窗口

如何使用pyspark流计算csv文件中的条目数

无法确定在 Azure 流分析中使用哪个窗口

流分析聚合窗口