我是靠谱客的博主 深情面包,最近开发中收集的这篇文章主要介绍Flink - 12.CountTrigger && ProcessingTimeTriger 详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一.引言

Flink 针对 window 提供了多种自定义 trigger,其中常见的有 CountTrigger 和 ProcessingTimeTrigger,下面通过两个 demo 了解一下两个 Trigger 的内部实现原理与窗口触发的相关知识。

二.辅助知识

介绍上述两个 Trigger 之前,首先重新回顾下之前提高的 trigger 基础知识。

1.Trigger 内部方法

· onElement :元素到达后执行的操作

· onProcessingTime:到达规定处理时间窗口执行的操作

· onEventTime :到达规定事件时间窗口执行的操作

· clear : 清除相关 value 变量

2.Window Trigger 后的操作

· TriggerResult.CONTINUE :跳过,什么都不做

· TriggerResult.FIRE :触发窗口计算

· TriggerResult.PURGE : 清除窗口元素

· TriggerResult.FIRE_AND_PURGE : 触发窗口操作,随后清空窗口元素

3.ReducingStateValue

ReducingStateValue 是一个抽象的统计量,需要用户自己定义其返回类型和对应的 reduce 操作,这里 reduce 并不是减少而是合并的意思,可以理解为 spark 里的 reduce(_ + _) 操作,即针对给定的 object1 和 object2,合成一个单独的 object,定义该变量方法如下:


                

最后

以上就是深情面包为你收集整理的Flink - 12.CountTrigger && ProcessingTimeTriger 详解的全部内容,希望文章能够帮你解决Flink - 12.CountTrigger && ProcessingTimeTriger 详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部