Flink】Flink中的window窗口分类,及其作用是什么?

2021-01-20 16:28发布

2条回答
爱学习的小巴
2楼 · 2021-01-22 15:28

1、Window Assinger是干啥的
当你决定stream是否keyby之后,window是没有构建的,你还需要指定一个window Assinger用于定义元素如何分配到窗口中。

2、window Assinger如何指定?
Keyedstream:window(WindowAssigner)
non-keyed streams :windowAll(WindowAssigner)
window Assinger的作用:负责将每个传入的元素分配给一个或多个窗口

有了window Assinger,才会创建出各种形式的window来覆盖我们所需的各种场景,所以不用过多关注window本身的分类,关注window Assinger的分类即可。

Count-based window: 根据元素个数对数据流进行分组切片
Tumbling CountWindow(翻滚窗口)
Sliding CountWindow(滑动窗口)

Time-based window: 根据时间对数据流进行分组切片
Tumbling Window
Sliding Window
Session Window

注意:Time-based window [start,end)


人情世故
3楼 · 2021-01-22 16:12
  • Keyed Window:上游数据集如果是 KeyedStream 类型,则调用 DataStream API 的 window()方法,数据会根据 Key 在不同的 Task 实例中并行分别计算,最后得出针对每个 Key 统计的结果。

  •  Global Window:如果是 Non-Keyed 类型,则调用 WindowsAll()方法,所有的数据都会71在窗口算子中由到一个 Task 中计算,并得到全局统计结果。


相关问题推荐

  • 回答 2

    Event Time:是事件创建的时间。它通常由事件中的时间戳描述,例如采集的日志数据中,每一条日志都会记录自己的生成时间,Flink 通过时间戳分配器访问事件时间戳。Ingestion Time:是数据进入Flink 的时间。Processing Time:是每一个执行基于时间操作的算子...

  • 回答 2

    Event Time:是事件创建的时间。它通常由事件中的时间戳描述,例如采集的日志数据中,每一条日志都会记录自己的生成时间,Flink 通过时间戳分配器访问事件时间戳。Ingestion Time:是数据进入Flink 的时间。Processing Time:是每一个执行基于时间操作的算子...

  • 回答 1

    批处理是流处理的一种非常特殊的情况。在流处理中,我们为数据定义滑动窗口或滚动窗口,并且在每次窗口滑动或滚动时生成结果。批处理则不同,我们定义一个全局窗口,所有的记录都属于同一个窗口。...

  • 回答 5

    jobmanager:主节点,类似于spark中的mastertaskManager:从节点,类似于spark中的workerslot:插槽,类似于spark中executor中的线程,只不过flink中的slot是物理存在的,可以手动配置,每个slot执行一个任务,是静态概念,用来隔绝内存。...

  • 回答 1

    配置文件(flink-conf.yaml)要启动HA集群,请将以下配置键添加到 conf/flink-conf.yaml:高可用性模式(必需):在 conf/flink-conf.yaml 中,必须将高可用性模式设置为zookeeper,以打开高可用模式。或者将此选项设置为工厂类的 FQN,Flink 通过创建 HighAva...

  • 回答 4

    1.Zookeeper加强集群稳定性Zookeeper通过一种和文件系统很像的层级命名空间来让分布式进程互相协同工作。这些命名空间由一系列数据寄存器组成,我们也叫这些数据寄存器为znodes。这些znodes就有点像是文件系统中的文件和文件夹。和文件系统不一样的是,文件系...

  • 回答 1

    根据现实的数据产生方式和数据产生是否含有边界(具有起始点和终止点)角度,将数据分为两种类型的数据集----一种是有界数据集,另外一种是无界数据集

  • 回答 1

    目前,还是选择saprkflink还有成长的空间

  • 回答 3
    已采纳

     Flink为流处理和批处理应用公用一个通用的引擎。1、数据量&吞吐量&延迟性Flink 的流处理引擎只需要很少配置就能实现高吞吐率和低延迟。2、支持 Event Time 和乱序事件Flink 支持了流处理和 Event Time 语义的窗口机制。Event time 使得计算乱序到达的事件或...

没有解决我的问题,去提问