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)
+

本文详细介绍了Flink SQL如何在批处理模式下使用HOP窗口函数,适用于每隔固定时间统计一段时间内指标的场景。通过实例解析了滑动间隔小于窗口时间的情况,说明了批处理中HOP窗口的执行逻辑,包括如何按照时间排序、滑动计算以及输出窗口结果。
1945

被折叠的 条评论
为什么被折叠?



