当前位置: 首页 > 知识库问答 >
问题:

如何在处理键控窗口后立即清除状态?

厉永宁
2023-03-14

我的应用程序使用了一个键控窗口,该窗口由时间戳函数键控。这意味着一旦该特定窗口被激发和处理,保持该键活动就没有用了,因为该特定键不会再次出现。因为这个用例涉及到持续扩展键,所以我想在一个键完成处理后立即清除它的状态,而不必配置计时器。

在每个键控窗口完成处理后,这是否可以在evictor方法或apply方法中实现?

共有1个答案

唐信瑞
2023-03-14

Windows会自动清理其状态。我能想到的您可能需要关注的唯一情况是,如果您正在使用挂起窗口上下文对象的globalState。但窗口本身及其状态将在窗口被激发后立即释放(或者在事件时间窗口的情况下,在允许的延迟过期后释放)。

 类似资料:
  • 这是我的代码。我的问题如下 > 以这种方式清除状态是否正确? 这是使用keyBy的正确方法吗? //有100万个storeId

  • 我正在编写一个Flink应用程序,它使用kafka主题中的时间序列数据。时间序列数据包含度量名称、标记键值对、时间戳和值等组件。我已经创建了一个滚动窗口来根据度量键(度量名称、键值对和时间戳的组合)聚合数据。这里是主流看起来像 我还想检查是否有任何指标在上面的窗口外迟到。我想检查有多少指标延迟到达,并计算延迟指标与原始指标相比的百分比。我正在考虑使用flink的“允许延迟”功能将延迟指标发送到不同

  • 我正在使用window API将数据划分为1小时的窗口。在每个窗口中,我使用一个值状态为每个窗口存储一个布尔值。 我必须调用“clear()”方法来清理窗口状态数据吗?我假设,因为Flink处理窗口创建和清除,所以它在清除窗口时也应该处理状态清理。 但是Flink文档明确表示,您应该调用clear方法来删除窗口状态https://ci.apache.org/projects/Flink/flink

  • 我正在创建一个模型,该模型引用第三方包——芹菜(Crontab时间表和周期任务)中的模型。我的模型(让我们称之为SchduledRun)将包含一个周期任务的外键。 我知道,如果我删除外键本身,就会发生级联删除,引用该外键的父级也会被删除。(除非在删除时被覆盖…) 但由于我将ScheduledRun指向PeriodicTask的FK,所以在删除ScheduledRun时,PeriodicTask不会

  • 我有一个使用Spring安全LDAP的登录页面。身份验证本身工作正常。在我将表单从常规 HTML 更改为主要字体/ JSF 标记后,发生了此问题。用户通过身份验证后,该页不会重定向到索引页,而是在第二次尝试后。由于某种原因,会话被立即清除。我已经阅读了很多关于使用JSF登录的帖子和教程,以及类似的问题,但到目前为止,它们都没有奏效。 以下是我的一些配置: 登录.xhtml 在首字母/JSF之前 l

  • 我有一个组件,它作为一个道具发送一个方法来改变表单的输入值(像任何基本表单一样)。在onChange开始工作后,我决定添加一个clear按钮来一次清除所有输入值,因此我创建了一个方法来清除所有输入。 示例: 像上面的方法那样清除会产生一个错误,因为我要移除state中的键,而表单输入的值是针对state的。没问题,所以我想,我只需要将setState中的所有输入添加到一个空字符串,如:which