Flink SQL 批处理使用HOP详解
介绍
Flink SQL中分组窗口函数中有一个HOP(time_attr, hop interval 滑动间隔, fixed duration 窗口时间),适合的场景基本是每隔多长时间统计一次某个时间段内的指标,例如,统计每个用户过去1分钟(窗口时间)的单击次数,每30秒(滑动间隔)更新1次。在流式计算中比较容易理解,但是批处理使用这个函数就会让人摸不着头脑。下面通过一个例子来解释。
表结构及数据
SQL
INSERT INTO print
SELECT a, sum(b) as b_sum
FROM orders
GROUP BY a, HOP(rowtime, INTERVAL '1' HOUR, INTERVAL '24' HOUR)
ORDER BY a
执行结果及解释
+I(a,55) 2021-03-26 09:00:00 ~ 2021-03-26 09:59:59 +55 第一个窗口开始
+I(a,55)
+I(a,55)
+I(a,55)