惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - thanks

07-紧固件MES系统 — 中小企业实施部署指南 06-紧固件MES系统 — 术语与名词解析 05-紧固件MES系统 — 推荐技术架构与智能制造方案 03-紧固件MES系统 — 模块业务详解 04-紧固件MES系统 — 重构建议与待开发分析 01-紧固件MES系统 — 系统总览与架构 02-紧固件MES系统 — 核心业务流程 VsCode+DeepSeek的AI编程助手初体验 [大数据][机器学习]之Model Card(模型卡片)介绍 Bond——大数据时代的数据交换和存储格式 Spark中的那些坑... 为啥就业这么难——聊聊我在培训机构的所见所闻 微软外服工作札记②——聊聊微软的知识管理服务平台和一些编程风格 【非技术】试占12月10日后会发生什么 聊聊我在微软外服大数据分析部门的工作经历及一些个人见解 SAAS云平台搭建札记: (四) AntD For React使用react-router-dom路由接收不同参数页面不刷新的问题 [工作札记]03: 微软Winform窗体中设计上的Bug,会导致程序编译失败,影响范围:到最新的.net4.7.2都有 [工作札记]02: .Net Winform控件TreeView最简递归绑定方法 SAAS云平台搭建札记: (三) AntDesign + .Net Core WebAPI权限控制、动态菜单的生成 [工作札记]01: CS系统中分页控件的制作 【非技术】试占新型肺炎的情况与发展趋势 给培训学校讲解ORM框架的课件 SAAS云平台搭建札记: (二) Linux Ubutu下.Net Core整套运行环境的搭建 SAAS云平台搭建札记: (一) 浅论SAAS多租户自助云服务平台的产品、服务和订单 开源三维地球GIS引擎Cesium常用功能的开发 Asp.net管理信息系统中数据统计功能的实现 - thanks
微软外服工作札记③——窗口函数的介绍
thanks · 2022-06-17 · via 博客园 - thanks

微软外服工作札记③——窗口函数的介绍

在大数据流式处理和分析应用中,窗口(开窗)函数是个很重要的概念,用于对一段时间内的事件数量进行统计和分析。窗口函数运用的场景有对HTTP请求流的分析、物联网设备上报的流数据处理等,选择合适的窗口函数能够使得工作效率事半功倍。在微软的Azure中,内置的流分析器中为我们提供了“翻转(Tumbling)”、“跳跃(Hopping)”、“滑动(Sliding)”、“会话(Session)”和“快照(Snapshot)”五种窗口。在此我对五种窗口函数做一个简单介绍,希望大家举一反三,使用各种编程语言对这些函数进行实现,从而运用到各自的业务场景之中去。

image

文章为原创,除了微软知识库外,网上还没有类似的完整的介绍。参考资料及图片来源: Azure 流分析开窗函数简介 | Microsoft Docs (图片如有侵权,请通知我予以删除)

翻转窗口(TumblingWindow)

image

如图所示,翻转窗口是一种最简单最基础的窗口,统计固定时段内的事件数量,事件不会被重复计算,也不会被遗漏,统计的间隔也一致,如同定时器一样,计算上一时间内发生的时间数量。比如统计网站时段访问数量:1点到2点的PV、2点到3点的PV...等。

跳跃窗口(HoppingWindow)

image

如图所示,跳跃窗口类似与翻转窗口,只是统计的时长不变,统计的间隔有所缩短,这样会有一部分数据会被各个翻转窗口重复统计进去。这在一些比较特别的统计中有用。还是拿电商举例,比如:统计1点到3点的访问人数、2点到4点的人数、3点到5点的人数......

滑动窗口(SlidingWindow)

image

滑动窗口是一种比较特殊的窗口,它的统计时长不变,但是统计时间却是连续的,可以看作把跳跃窗口(HoppingWindow)的统计时间间隔去掉了。因此,它的意义是能够计算出任意时段内的事件数量,用于计算网站流量是否超标、给定一个时长统计最大数量(比如文章、帖子的数量)非常有用。

会话窗口(SessionWindow)

image

会话窗口和前三种窗口不同,它统计的时长是可变的。当事件产生(比如用户打开网页)时窗口计时开始,随着用户不断在页面中点击跳转、进行各种操作,最后一段时间内没有操作会话超时,窗口的计时随之结束。会话窗口用于记录用户一次登录在页面上的所有行为非常有用,也是电商平台用于对用户行为进行跟踪分析必备的重要手段,可以清楚地知道用于在每个页面停留了多久,页面和页面是如何跳转的,看了、买了那些东西,从哪个地方开始流失,广告投放的质量(查看、点击),何时进行回访等等,从而对每个用于的浏览习惯、消费能力、甚至年龄、性别、职业等做精确画像,也是大数据分析的方向之一。

快照窗口(SessionWindow)

image

快照窗口可以看作是一种特殊的翻转窗口,只是它的统计时长比较短,一般为秒,在某一时刻内没有事件发生则不予以统计,一般用于进行允许有一定精度误差的并发度统计。

后记

同学们,大家在工作、学习过程中还知道有哪些窗口函数,可以在留言区告诉我,我会分享出来。大家一起来学习和进步!

微软外服工作札记系列
聊聊我在微软外服大数据分析部门的工作经历及一些个人见解
②聊聊微软的知识管理服务平台和一些编程风格
③窗口函数的介绍