2 个回答
在select中定义示例:
SELECT
TUMBLE_START(event_time, INTERVAL '5' MINUTE) AS window_start,
SUM(amount) AS total_amount
FROM orders
GROUP BY TUMBLE(event_time, INTERVAL '5' MINUTE);
在create table中定义:CREATE TABLE windowed_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 windowed_orders
SELECT
TUMBLE_START(event_time, INTERVAL '5' MINUTE) AS window_start,
TUMBLE_END(event_time, INTERVAL '5' MINUTE) AS window_end,
SUM(amount) AS total_amount
FROM orders
GROUP BY
TUMBLE(event_time, INTERVAL '5' MINUTE),
TUMBLE_START(event_time, INTERVAL '5' MINUTE);
发布于:2周前 (05-28) IP属地:
具体的核心配置有:
1、窗口大小:
1、窗口大小:
TUMBLE(event_time, INTERVAL '1' HOUR) -- 1小时窗口
2、时间语义:#事件时间
WATERMARK FOR event_time AS event_time - INTERVAL '5' SECOND
#处理时间
TUMBLE(PROCTIME(), INTERVAL '5' MINUTE) -- 处理时间窗口
3、延迟数据处理WATERMARK FOR event_time AS event_time - INTERVAL '10' SECOND -- 允许10秒延迟
4、窗口触发器TUMBLE(event_time, INTERVAL '5' MINUTE)
TRIGGER COUNT(1000) -- 每1000条数据触发计算
发布于:2周前 (05-28) IP属地:
我来回答
您需要 登录 后回答此问题!