是我的问题,引用了old planner。感谢!

On 6/23/2020 21:05,LakeShen<[email protected]> wrote:
Hi xuhaiLong,

看你的依赖,应该用的 old planner,你要使用 blink planner 才能使用row_number 函数。要使用
flink-table-planner-blink_2.11
具体文档参考:
https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/table/#table-program-dependencies

Best,
LakeShen

xuhaiLong <[email protected]> 于2020年6月23日周二 下午8:14写道:

"org.apache.flink" %% "flink-table-api-scala-bridge" % "1.10.1",
"org.apache.flink" %% "flink-table-planner" % "1.10.1" % "provided",
看下粘贴的 sbt 依赖
On 6/23/2020 20:06,Jark Wu<[email protected]> wrote:
图片无法查看,你可以把图片上传到某图床,然后将链接贴这里。

On Tue, 23 Jun 2020 at 19:59, xuhaiLong <[email protected]> wrote:

使用的是1.10.1,在 table api 无法使用ROW_NUMBER
On 6/23/2020 19:52,Jark Wu<[email protected]> <[email protected]> wrote:

Hi xuhaiLong,

1.10 blink planner 是支持 ROW_NUMBER() over 的 (配合 rownum <= N 使用)。你是不是用的 old
planner 呢?

Best,
Jark

On Tue, 23 Jun 2020 at 19:44, LakeShen <[email protected]> wrote:

Hi xuhaiLong,

看下是否能够在 Flink SQL 中,通过自定义 UDTF 来满足你的需求。

Best,
LakeShen

xuhaiLong <[email protected]> 于2020年6月23日周二 下午7:18写道:

Hi

请教一个问题


我需要对一个类似这样的数据进行计算获取用户 categoryId
| userId | articleID | categoryId | score |
| 01 | A | 1 | 10 |
| 01 | B | 1 | 20 |
| 01 | C | 2 | 30 |




目前我的实现是使用tableAPI 根据 UserId和categoryID 分组做 score 聚合
再通过状态做TopN排序,有没有其他更好的方案来实现?


我使用过 ROW_NUMBER() over() ,在 flink 1.10 上,并无法使用。分组聚合除了使用Table API

还有其他方法实现吗?





感谢!!







回复