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
>
> 还有其他方法实现吗?
>
>
>
>
>
> 感谢!!
>
>
>
>
>
>
>

回复