赞
踩
Windows是数据流的时间窗口,流式数据特点就是源源不断没有边界,但是对于我们数据使用者而言很多时候业务要求对特定时间长度的数据进行切片并统计分析,以此来反映通过时间变化某个业务指标的变化情况,这个时候就需要用到流式计算引擎中的Windows功能,也叫时间窗口功能,就是每次取数据流中特定时间长度的数据进行计算分析。
时间窗口功能在目前的主流计算引擎spark和flink中都有三种类型;第一种为固定时间窗口,也就是取数据的时间长度和取数据的时间周期相等叫tumbling windows,比如设置tumbling(5mins)意味着计算引擎每隔5分钟就会收集5分钟时间长度的数据进行计算,他的特点是任何一条数据都只能出现在一个窗口内;第二种为滑动时间窗口,以某个滑动频率取固定时间长度的数据并且取数的时间长度必须大于等于滑动时间这种叫sliding Windows,比如你设置sliding(10mins,5mins),意味着每5分钟计算引擎就去取10分钟时间长度的数据,它的特点是一条业务数据可能落在多个时间窗口内;第三种为动态时间窗口,所谓动态就是取数据的时间长度不固定,这个跟计算引擎是否有持续数据输入有关,这种叫session Windows,比如设置session(5mins),意味着计算引擎如果在收到一条数据后5分钟之内没有再次收到下一条数据那么这个窗口才会关闭,否则这个时间窗口会无限期延长。
实际用的比较多的是第一种和第二种,而在开发过程中Windows功能一般都会结合watermark功能一起使用,以此来满足流式时间片段的统计需求。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。