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 还有其他方法实现吗? 感谢!! |
Hi xuhaiLong,
看下是否能够在 Flink SQL 中,通过自定义 UDTF 来满足你的需求。 Best, LakeShen xuhaiLong <[hidden email]> 于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 还有其他方法实现吗? > > > > > 感谢!! > > > > |
Administrator
|
Hi xuhaiLong,
1.10 blink planner 是支持 ROW_NUMBER() over 的 (配合 rownum <= N 使用)。你是不是用的 old planner 呢? Best, Jark On Tue, 23 Jun 2020 at 19:44, LakeShen <[hidden email]> wrote: > Hi xuhaiLong, > > 看下是否能够在 Flink SQL 中,通过自定义 UDTF 来满足你的需求。 > > Best, > LakeShen > > xuhaiLong <[hidden email]> 于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 > 还有其他方法实现吗? > > > > > > > > > > 感谢!! > > > > > > > > > |
使用的是1.10.1,在 table api 无法使用ROW_NUMBER
On 6/23/2020 19:52,[hidden email] wrote:
Hi xuhaiLong, |
Administrator
|
图片无法查看,你可以把图片上传到某图床,然后将链接贴这里。
On Tue, 23 Jun 2020 at 19:59, xuhaiLong <[hidden email]> wrote: > 使用的是1.10.1,在 table api 无法使用ROW_NUMBER > On 6/23/2020 19:52,Jark Wu<[hidden email]> <[hidden email]> 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 <[hidden email]> wrote: > > Hi xuhaiLong, > > 看下是否能够在 Flink SQL 中,通过自定义 UDTF 来满足你的需求。 > > Best, > LakeShen > > xuhaiLong <[hidden email]> 于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 > > 还有其他方法实现吗? > > > > > > 感谢!! > > > > > > |
"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<[hidden email]> wrote: 图片无法查看,你可以把图片上传到某图床,然后将链接贴这里。 On Tue, 23 Jun 2020 at 19:59, xuhaiLong <[hidden email]> wrote: 使用的是1.10.1,在 table api 无法使用ROW_NUMBER On 6/23/2020 19:52,Jark Wu<[hidden email]> <[hidden email]> 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 <[hidden email]> wrote: Hi xuhaiLong, 看下是否能够在 Flink SQL 中,通过自定义 UDTF 来满足你的需求。 Best, LakeShen xuhaiLong <[hidden email]> 于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 还有其他方法实现吗? 感谢!! |
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 <[hidden email]> 于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<[hidden email]> wrote: > 图片无法查看,你可以把图片上传到某图床,然后将链接贴这里。 > > On Tue, 23 Jun 2020 at 19:59, xuhaiLong <[hidden email]> wrote: > > 使用的是1.10.1,在 table api 无法使用ROW_NUMBER > On 6/23/2020 19:52,Jark Wu<[hidden email]> <[hidden email]> 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 <[hidden email]> wrote: > > Hi xuhaiLong, > > 看下是否能够在 Flink SQL 中,通过自定义 UDTF 来满足你的需求。 > > Best, > LakeShen > > xuhaiLong <[hidden email]> 于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 > > 还有其他方法实现吗? > > > > > > 感谢!! > > > > > > > |
是我的问题,引用了old planner。感谢!
On 6/23/2020 21:05,LakeShen<[hidden email]> 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 <[hidden email]> 于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<[hidden email]> wrote: 图片无法查看,你可以把图片上传到某图床,然后将链接贴这里。 On Tue, 23 Jun 2020 at 19:59, xuhaiLong <[hidden email]> wrote: 使用的是1.10.1,在 table api 无法使用ROW_NUMBER On 6/23/2020 19:52,Jark Wu<[hidden email]> <[hidden email]> 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 <[hidden email]> wrote: Hi xuhaiLong, 看下是否能够在 Flink SQL 中,通过自定义 UDTF 来满足你的需求。 Best, LakeShen xuhaiLong <[hidden email]> 于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 还有其他方法实现吗? 感谢!! |
Free forum by Nabble | Edit this page |