定义时间窗口
时间窗口是持续聚合查询的重要属性。 它定义了数据在流中的聚合方式。 这些窗口是左闭右开的区间。
时间窗口对应于时间范围。 source 表中的数据将根据时间索引列映射到相应的窗口。 时间窗口也是聚合表达式计算的范围,因此每个时间窗口将在结果表中生成一行。
GreptimeDB 提供两种时间窗口类型:hop 和 tumble,或者换句话说是滑动窗口和固定窗口。
你可以在 GROUP BY 子句中使用 hop() 函数或 tumble() 函数指定时间窗口。
这两个函数仅支持在持续聚合查询的 GROUP BY 位置使用。
下图展示了 hop() 和 tumble() 函数的工作方式:
Tumble
tumble() 定义固定窗口,窗口之间不重叠。
tumble(col, interval, start_time)
col指定使用哪一列计算时间窗口。提供的列必须是时间戳类型。interval指定窗口的大小。tumble函数将时间列划分为固定大小的窗口,并在每个窗口中聚合数据。start_time用于指定第一个窗口的开始时间。
Hop(尚未支持)
hop 定义滑动窗口,窗口按固定间隔向前移动。
此功能尚未支持,预计将在不久的将来提供。