Flink / SQL - 7.一文搞懂常规 Sql TopN 与 Sql Window TopN

本文详细介绍了如何在 Flink SQL 中使用 ROW_NUMBER 函数实现常规 SQL TopN 和 SQL Window TopN。通过实例展示了如何处理用户浏览行为数据,包括最热门网页和最活跃用户等场景,同时探讨了 ORDER BY 字段的选择、窗口选择以及不同类型的 SQL 操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一.引言

二.数据准备

1.Event 事件类

2.Source 自定义源

3.DataStream To Table

三.常规 SQL TopN

1.基本语法模板

2.基本语法实践

3.完整代码

四.SQL Window TopN

1.TopN URL - 最热门的网页

2.TopN User - 最活跃的用户

3.多指标排序 - Url + Count

4.修改 TopN - 提高选取数量

5.完整代码

五.总结


一.引言

灵活使用窗口与聚合函数例如 SUM、MAX、MIN 等往往针对一组数据聚合得到唯一的值,除了聚合获得唯一值外,我们经常遇到的场景还有 TopN,用于获得一批数据的前 N 个满足条件的数据。这在 SQL 里并不难实现,之前我们讲解过 Hive 的 ROW_NUMBER 函数就可以实现该需求,关于 ROW_NUMBER 的含义大家可以参考:

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BIT_666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值