当前位置:网站首页>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,第四个参数则是最大窗口长度
边栏推荐
- 你管这破玩意儿叫 MQ?
- Command symbols commonly used by programmers
- C# 在PDF文档中应用多种不同字体
- When I saw the sudden death of a 28 year old employee, I wanted to moisten
- 调整数组顺序使奇数位于偶数前面(C语言)
- Memory mapping image of the grayloc module in the surfacefinder process
- Merge two ordered arrays (C language)
- Where is it safer to open an account for soda ash futures? How much capital is needed for a transaction?
- 广东市政安全施工资料管理软件2022新表格来啦
- JEST 单元测试说明 config.json
猜你喜欢

【LeetCode】1049. Weight of the last stone II (wrong question 2)

Jest unit test description config json

Use of RadioButton in QT

ELK - Hearthbeat实现服务监控

When the security engineer finds a major vulnerability in the PS host, the CD can execute arbitrary code in the system

Splunk Bucket 背后的秘密

Splunk Bucket 背後的秘密

安全工程师发现PS主机重大漏洞 用光盘能在系统中执行任意代码

Splunk 最佳实践-减轻captain 负担

让你理解选择排序(C语言)
随机推荐
iframe 传值
Splunk Bucket 背後的秘密
采用快慢指针法来解决有关数组的问题(C语言)
Linux忘记MySQL密码后修改密码
Use of RadioButton in QT
[digital signal processing] correlation function (property of correlation function | maximum value of correlation function | maximum value of autocorrelation function | maximum value of cross correlat
typescript 编译选项和配置文件
2020-07 study notes sorting
Uncaught typeerror: cannot set property 'next' of undefined
Maximum water container
PS does not display text cursor, text box, and does not highlight after selection
Addition of large numbers (C language)
线程五种状态(线程生命周期)
Thread five states (thread life cycle)
Zero after factorial (C language)
让你理解选择排序(C语言)
Take you to know about direct insertion sorting (C language)
Deep learning and CV tutorial (14) | image segmentation (FCN, segnet, u-net, pspnet, deeplab, refinenet)
Dominating set, independent set, covering set
反射真的很耗时吗,反射 10 万次,耗时多久。