FlinkSQL中是否能支持ROW_NUMBER() OVER PARTITION BY操作呢?

来源:14-7 DataStream整合SQL实战

吼吼16

2020-07-03

FlinkSQL中是否能支持对表中某字段分组排序后添加行号呢?
ROW_NUMBER() OVER ( PARTITION BY user ORDER BY score ASC) AS row_num

看到over后只能添加时间窗口么?
这么写会报错,请教老师是否可以这么实现,要是不行该怎么改呀?

写回答

2回答

Michael_PK

2020-07-03

我刚看了下生产的代码,如果是基于时间窗口去处理的话,是用这个样式的sql

val sql =s"""        |select        |user_id,sum(money),        |hop_start(rowtime,interval '2' SECOND,interval '10' second) as win_start,        |hop_end(rowtime,interval '2' SECOND,interval '10' second) as win_end        |from $TABLE_NAME        |group by        |hop(rowtime,interval '2' second,interval '10' second),        |user_id        |""".stripMargin

0
0

Michael_PK

2020-07-03

这个sql我没有测试过,但是这个sql在hive或者sparksql里面partition by字段之后是可以进行order by字段的,我现在不太确定flink sql是否支持到这个语法了。

0
2
Michael_PK
回复
吼吼16
不要把flinkSQL的功能过于想的强大,有些功能还是不能支持的
2020-07-03
共2条回复

新一代大数据计算引擎 Flink从入门到实战

入行或转型大数据新姿势,多语言系统化讲解,极速入门Flink

969 学习 · 296 问题

查看课程