数据湖探索 DLI-窗口:GROUP WINDOW
GROUP WINDOW
语法说明
Group Window定义在GROUP BY里,每个分组只输出一条记录,包括以下几种:
- time_attr可以设置processing-time或者event-time。
- time_attr设置为event-time时参数类型为bigint或者timestamp类型。
- time_attr设置为processing-time时无需指定类型。
- interval设置窗口周期。
- 分组函数
表1 分组函数表 函数名
说明
TUMBLE(time_attr, interval)
跳跃窗口。
HOP(time_attr, interval, interval)
拓展的跳跃窗口(等价于datastream的滑动窗口),可以分别设置输出触发周期和窗口周期。
SESSION(time_attr, interval)
会话窗口,interval表示多长时间没有记录则关闭窗口。
- 窗口函数
表2 窗口函数表 函数名
说明
TUMBLE_START(time_attr, interval)
返回跳跃窗口开始时间。为UTC时区。
TUMBLE_END(time_attr, interval)
返回跳跃窗口结束时间。为UTC时区。
HOP_START(time_attr, interval, interval)
返回拓展的跳跃窗口开始时间。为UTC时区。
HOP_END(time_attr, interval, interval)
返回拓展的跳跃窗口结束时间。为UTC时区。
SESSION_START(time_attr, interval)
返回会话窗口开始时间。为UTC时区。
SESSION_END(time_attr, interval)
返回会话窗口结束时间。为UTC时区。
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
// 每天计算SUM(金额)(事件时间)。 insert into temp SELECT name, TUMBLE_START(ts, INTERVAL '1' DAY) as wStart, SUM(amount) FROM Orders GROUP BY TUMBLE(ts, INTERVAL '1' DAY), name; // 每天计算SUM(金额)(处理时间)。 insert into temp SELECT name, SUM(amount) FROM Orders GROUP BY TUMBLE(proctime, INTERVAL '1' DAY), name; // 每个小时计算事件时间中最近24小时的SUM(数量)。 insert into temp SELECT product, SUM(amount) FROM Orders GROUP BY HOP(ts, INTERVAL '1' HOUR, INTERVAL '1' DAY), product; // 计算每个会话的SUM(数量),间隔12小时的不活动间隙(事件时间)。 insert into temp SELECT name, SESSION_START(ts, INTERVAL '12' HOUR) AS sStart, SESSION_END(ts, INTERVAL '12' HOUR) AS sEnd, SUM(amount) FROM Orders GROUP BY SESSION(ts, INTERVAL '12' HOUR), name; |
- .group域名注册_如何注册.group域名
- 什么是数据湖探索服务_数据湖探索DLI用途与特点
- GaussDB列转行_gaussdb是关系型数据库吗_高斯数据库列转行_华为云
- 什么是跨源连接-数据湖探索DLI跨源连接
- 什么是Spark SQL作业_数据湖探索DLISpark SQL作业
- 什么是Flink OpenSource SQL_数据湖探索_Flink OpenSource SQL
- 什么是弹性资源池_数据湖探索DLI弹性资源池
- linux虚拟主机系统_linux配置虚拟主机_Linux虚拟主机版
- 大数据可视化平台是什么_大数据可视化平台有什么优势
- 容器镜像服务_什么是容器镜像服务_镜像上传下载-华为云