StreamingSystem (Google 流式团队著)-c1.Streaming101-7

StreamingSystem (Google 流式团队著)-c1.Streaming101-7

Windowing (窗口计算)

余下的两个对于无边界数据的处理是窗口计算的类型。在深入探讨它们之间的差异之前,我应该弄清楚窗口化的确切含义,因为在上一节中我们只是简要地谈到了这一点。 窗口化只是简单的概念,即获取一个数据源(无界或有界),并沿时间边界将其切成有限的块进行处理(解释一下,其实窗口就是为了切分数据,帮助做指标或者特征的计算)。 图1-8显示了三种不同的窗口模式,不同的而窗口模式,就是切分无限数据到有限数据的方式

StreamingSystem (Google 流式团队著)-c1.Streaming101-7

下面将详细介绍三种窗口模式

Fixed Windows(aka tumbling windows)固定窗口

我们之前讨论了固定窗口。 固定的窗口将时间切成具有固定大小的时间长度的段。 通常(如图1-9所示),将固定窗口的段均匀地应用于整个数据集,这是对齐窗口的一个示例。 在某些情况下未对齐窗口的一个示例是对数据的不同子集(例如,每个键)进行窗口偏移,以使窗口完成随着时间的推移更均匀地分布。

StreamingSystem (Google 流式团队著)-c1.Streaming101-7

Sliding windows(aka hopping windows)滑动窗口

滑动窗口是固定窗口更加一般化的的形式,通过定义固定的长度或者固定周期定义的时间, 如果周期小于长度,则窗口重叠。 如果周期等于长度,则您有固定的窗口。 而且,如果周期大于长度,那么您将拥有一种奇怪的采样窗口,该采样窗口只能查看一段时间内数据的子集。 与固定窗口一样,滑动窗口通常是对齐的,尽管在某些用例中它们可以作为性能优化而未对齐。 注意,图1-8中的滑动窗口是按原样绘制的,以提供滑动运动的感觉。 实际上,所有五个窗口将应用于整个数据集。(解释一下,举个例子帮忙理解,比如我想做一个滑动窗口操作,每五分钟看过去一个小时的数据,这个例子里面,固定周期是5分钟,固定长度是一个小时,由于固定周期

Sessions 会话窗口

会话窗口是动态窗口的一个示例,由事件序列组成,这些事件序列以大于某个超时的不活动间隔终止。 会话通常用于通过将一系列与时间相关的事件(例如,观看视频序列)组合在一起来分析一段时间内的用户行为。 会话特殊的地方是,长度不能事先定义。 取决于所涉及的实际数据。 会话窗口也是未对齐窗口的典型示例,因为会话实际上在不同数据子集(例如,不同用户)之间永远不会完全相同。

前面详细讨论了Processing Time 和Event Time,下面将结合时间概念和窗口概念进行详细介绍,首先将介绍Processing time的window。


分享到:


相關文章: