2 个回答
在select中定义:
SELECT
HOP_START(event_time, INTERVAL '5' MINUTE, INTERVAL '10' MINUTE) AS window_start,
SUM(amount) AS total_amount
FROM orders
GROUP BY HOP(event_time, INTERVAL '5' MINUTE, INTERVAL '10' MINUTE);
在create table中定义:CREATE TABLE sliding_orders (
window_start TIMESTAMP(3),
window_end TIMESTAMP(3),
total_amount DOUBLE,
WATERMARK FOR event_time AS event_time - INTERVAL '5' SECOND
) WITH (...);
INSERT INTO sliding_orders
SELECT
HOP_START(event_time, INTERVAL '5' MINUTE, INTERVAL '10' MINUTE) AS window_start,
HOP_END(event_time, INTERVAL '5' MINUTE, INTERVAL '10' MINUTE) AS window_end,
SUM(amount) AS total_amount
FROM orders
GROUP BY
HOP(event_time, INTERVAL '5' MINUTE, INTERVAL '10' MINUTE),
HOP_START(event_time, INTERVAL '5' MINUTE, INTERVAL '10' MINUTE);
发布于:3周前 (05-28) IP属地:
具体的核心配置有:
1、窗口大小
1、窗口大小
HOP(event_time, INTERVAL '5' MINUTE, INTERVAL '10' MINUTE) -- 窗口大小为10分钟
2、滑动步长HOP(event_time, INTERVAL '5' MINUTE, INTERVAL '10' MINUTE) -- 每5分钟滑动一次
3、时间语义WATERMARK FOR event_time AS event_time - INTERVAL '5' SECOND -- 允许5秒延迟
4、延迟数据处理WATERMARK FOR event_time AS event_time - INTERVAL '10' SECOND -- 允许10秒延迟
5、窗口触发器HOP(event_time, INTERVAL '5' MINUTE, INTERVAL '10' MINUTE)
TRIGGER COUNT(1000) -- 每1000条数据触发计算
发布于:3周前 (05-28) IP属地:
我来回答
您需要 登录 后回答此问题!