首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在apache-flink中实现groupByUntil?

如何在apache-flink中实现groupByUntil?
EN

Stack Overflow用户
提问于 2015-11-25 06:03:45
回答 1查看 123关注 0票数 1

一些反应式框架具有groupByUntil功能。允许按键对元素进行分组,并在特定事件或时间间隔(即,来自RxJS的here描述)之后将其移除。

正如我所看到的,apache-flink没有这样的开箱即用功能。谁能解释一下如何在apache-flink中实现这样的功能?

EN

回答 1

Stack Overflow用户

发布于 2015-11-25 06:15:38

你看过Flink的时间窗口了吗?窗口用于对流的元素进行分组,例如按时间和关键字分组。

可以按如下方式定义翻滚时间窗口:

代码语言:javascript
复制
val s: DataStream[(Int, Long)] = ...

val r: DataStream[(Int,Long)] = s
  .keyBy(_._1)
  .timeWindow(Time.minutes(5))
  .minBy(2)

这将把流划分为第一个Int元素(_._1),并每隔五分钟为每个键创建一个窗口来对元素进行分组。在每个窗口上,应用minBy函数来选择具有最小Long值的元素。

您还可以定义滑动窗口、计数窗口,或者使用触发器和逐出函数实现自己的窗口逻辑。窗口求值函数(本例中为minBy)也可以是一个自定义实现。

您应该查看DataStream documentation以了解更多详细信息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33904731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档