本文为您介绍 Spark SQL 流式处理支持的窗口函数以及窗口函数支持的时间属性和窗口类型。

窗口函数

窗口函数支持对一个特定的窗口的聚合。例如,需要统计在过去的 1 分钟内有多少用户点击了某个的网页,可以通过定义一个窗口来收集最近 1 分钟内的数据,并对这个窗口内的数据进行计算。Spark SQL 流式处理支持两类窗口:
  • 滚动窗口(TUMBLING)
  • 滑动窗口(HOPPING)

时间属性

Spark SQL 支持事件时间(Event Time)的时间属性对数据进行窗口内聚合。

Event Time:事件时间(通常是数据的最原始的创建时间),Event Time 一定是您提供在 Schema 里的数据。

说明

对于存在时间窗口的查询来说,会自动生成一个 window 列,包含窗口的起止时间信息,即:window.start 和 window.end。