窗口的移除器(Evictor)是什么?何时使用?

提问者:帅平 问题分类:面试刷题
窗口的移除器(Evictor)是什么?何时使用?
1 个回答
我是白云
我是白云
移除器(Evictor)​​ 是一个可选的窗口组件,用于在窗口触发计算 ​前​ 或 ​后​ 动态移除窗口中的部分数据。它的核心作用是优化窗口计算的数据量和状态管理,通常与 ​触发器(Trigger)​​ 配合使用,控制窗口内参与计算的数据范围。使用的话主要是使用evictor函数,例如:
#滑动窗口
.window(SlidingEventTimeWindows.of(Time.hours(1), Time.minutes(5)))
.trigger(EventTimeTrigger.create())
.evictor(TimeEvictor.of(Time.minutes(55))) // 保留最近55分钟数据
#全局窗口
.window(GlobalWindows.create())
.trigger(CountTrigger.of(100))
.evictor(CountEvictor.of(1000)) // 保留最近1000条数据
发布于:9小时前 IP属地:
我来回答