当前位置:网站首页>flink 窗口表值函数
flink 窗口表值函数
2022-06-11 12:06:00 【但行益事莫问前程】
前言
从 1.13 版本开始,Flink 开始使用窗口表值函数(Windowing table-valued functions,Windowing TVFs)来定义窗口。窗口表值函数是 Flink 定义的多态表函数(PTF),可以将表进行扩展后返回
滚动窗口(Tumbling Windows)
滑动窗口(Hop Windows,跳跃窗口)
累积窗口(Cumulate Windows)
会话窗口(Session Windows,目前尚未完全支持)
在窗口 TVF 的返回值中,除去原始表中的所有列,还增加了用来描述窗口的额外 3 个列:窗口起始点(window_start)、窗口结束点(window_end)、窗口时间(window_time)。窗口时间指的是窗口中的时间属性,它的值等于window_end - 1ms,所以相当于是窗口中包含数据的最大时间戳
1. 滚动窗口(TUMBLE)
在 SQL 中通过调用 TUMBLE()函数声明一个滚动窗口,只有一个核心参数就是窗口大小(size)。在 SQL 中不考虑计数窗口,所以滚动窗口就是滚动时间窗口,参数中还需要将当前的时间属性字段传入;另外,窗口 TVF 本质上是表函数,可以对表进行扩展,所以还应该把当前查询的表作为参数整体传入
TUMBLE(TABLE EventTable, DESCRIPTOR(ts), INTERVAL '1' HOUR)
2. 滑动窗口(HOP)
滑动窗口的使用与滚动窗口类似,可以通过设置滑动步长来控制统计输出的频率。在 SQL中通过调用 HOP()来声明滑动窗口;除了也要传入表名、时间属性外,还需要传入窗口大小(size)和滑动步长(slide)两个参数
HOP(TABLE EventTable, DESCRIPTOR(ts), INTERVAL '5' MINUTES, INTERVAL '1' HOURS));
基于时间属性 ts,在表 EventTable 上创建了大小为 1 小时的滑动窗口,每 5 分钟滑动一次。在时间属性字段后面的第三个参数是步长(slide),第四个参数才是窗口大小(size)
3. 累积窗口(CUMULATE)
累积窗口是窗口 TVF 中新增的窗口功能,它会在一定的统计周期内进行累积计算。累积窗口中有两个核心的参数:最大窗口长度(max window size)和累积步长(step)。所谓的最大窗口长度就是统计周期,最终目的就是统计这段时间内的数据
CUMULATE(TABLE EventTable, DESCRIPTOR(ts), INTERVAL '1' HOURS, INTERVAL '1' DAYS))
基于时间属性 ts,在表 EventTable 上定义了一个统计周期为 1 天、累积步长为 1小时的累积窗口。注意第三个参数为步长 step,第四个参数则是最大窗口长度
边栏推荐
- Thread five states (thread life cycle)
- Linux忘记MySQL密码后修改密码
- Centos7.x下安装mysql8遇到的问题Couldn‘t open file /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
- Android 11+ 配置SqlServer2014+
- centos安装mysql5.7
- Zero after factorial (C language)
- Web development model selection, who graduated from web development
- C # set or verify the format of text field in PDF
- ObjectInputStream读取文件对象ObjectOutputStream写入文件对象
- Splunk 健康检查之关闭THP
猜你喜欢

Intermediate web development engineer, interview questions + Notes + project practice

微信web开发者,如何学习web开发

Apple mobileone: the mobile terminal only needs 1ms of high-performance backbone

深度学习与CV教程(14) | 图像分割 (FCN,SegNet,U-Net,PSPNet,DeepLab,RefineNet)

Use compiler option '--downleveliteration' to allow iteration of iterations

让你理解选择排序(C语言)

(推荐)splunk 多少数量search head 才合适

【LeetCode】494. Objective and (2 wrong questions)

Elk - elastalert largest pit

Splunk Bucket 背后的秘密
随机推荐
Splunk 最佳实践-减轻captain 负担
Typescript compilation options and configuration files
AGCO AI frontier promotion (6.11)
Elk - elastalert largest pit
Apple mobileone: the mobile terminal only needs 1ms of high-performance backbone
Merge two ordered arrays (C language)
Use of Chinese input method input event composition
Pan domain SSL certificate, sectigo cheap wildcard certificate popularization plan
Adjust the array order so that odd numbers precede even numbers (C language)
Queuing theory model
苹果MobileOne: 移动端仅需1ms的高性能骨干
《公司理财师专业能力》笔记
Maximum water container
线程五种状态(线程生命周期)
刷题笔记(十三)--二叉树:前中后序遍历(复习)
Use cache to reduce network requests
Problems encountered in installing mysql8 under centos7.x couldn't open file /etc/pki/rpm-gpg/rpm-gpg-key-mysql-2022
Guangdong municipal safety construction data management software 2022 new forms are coming
Read geo expression matrix
微信授权获取手机号码