Flink SQL 窗口表值函数 Window TVF 实战
Posted @SmartSi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flink SQL 窗口表值函数 Window TVF 实战相关的知识,希望对你有一定的参考价值。
传送门:Flink 系统性学习笔记
Flink 1.13.5
窗口 TVF 是 Flink 定义的多态表函数(缩写 PTF)。PTF 是 SQL 2016 标准的一部分,是一个特殊的表函数,可以将表作为参数。因为 PTF 在语义上像表一样使用,所以它们的调用发生在 SELECT 语句的 FROM 子句中。窗口 TVF 是传统 Grouped Window 函数的替代品。窗口 TVF 更符合 SQL 标准,也更强大,可以支持复杂的基于窗口的计算,例如 Window TopN, Window Join。但是,Grouped Window 函数只能支持窗口聚合。
1. 窗口函数
Apache Flink 提供了 3 个内置窗口 TVF:TUMBLE、HOP 和 CUMULATE。
1.1 TUMBLE TVF
TUMBLE 函数将每个元素分配给指定窗口大小的滚动窗口。滚动窗口有固定的大小,不重叠。例如假设你指定一个大小为 5 分钟的滚动窗口,Flink 会每五分钟启动一个新窗口,如下图所示:
以上是关于Flink SQL 窗口表值函数 Window TVF 实战的主要内容,如果未能解决你的问题,请参考以下文章