表聚合函数

既是聚合,又是炸裂函数。
如 有1万条数据,选取前3的数据,则是先通过1万条数据聚合为前3(一行),然后炸裂开,变成多行(3行)。
所以就是既是聚合,又是炸裂函数。

Group Window的分类和定义

下面的代码可以使用单引号语义,需要导入隐式转换的包
import org.apache.flink.table.api.scala._

滚动窗口使用Tumble类定义

  1. // Tumbling Event-time window
  2. Table实例对象.window(Tumble over 10.minutes on 'rowtime as 'w)
  3. 实际相当于
  4. Table实例对象.window(Tumble.over(10.minutes).on("rowtime").as("w"))
  5. // Tumbling Processing-time Window
  6. Table实例对象.window(Tumble over 10.minutes on 'proctime as 'w)
  7. // Tumbling Row-count Window
  8. Table实例对象.window(Tumble over 10.rows on 'proctime as 'w)

滑动窗口使用Slide类定义

  1. // Tumbling Event-time window
  2. Table实例对象.window(Slide over 10.minutes on 'rowtime as 'w)
  3. // Tumbling Processing-time Window
  4. Table实例对象.window(Slide over 10.minutes on 'proctime as 'w)
  5. // Tumbling Row-count Window
  6. Table实例对象.window(Slide over 10.rows on 'proctime as 'w)

会话窗口使用Session定义

  1. // Session Event-time window
  2. Table实例对象.window(Session withGap 10.minutes on 'rowtime as 'w)
  3. // Session Processing-time window
  4. Table实例对象.window(Session withGap 10.minutes on 'proctime as 'w)