小编Eli*_*ran的帖子

在Flink Mapstate中删除TTL过期密钥

我需要能够从地图状态中删除比固定时间还旧的旧键。我目前将每个事件的时间戳记保存在键状态图中,并且我希望有一个异步过程来删除这些陈旧的键。

我使用RocksDB作为国家后台,我不认为RocksDB的Java API的支持与TTL开放作为注意到这里

所以我的问题是:

  • 因为它在操作符函数中运行,所以根本不可能有一个访问Mapstate的异步线程吗?
  • 在这种情况下有更好的做法吗?

提前致谢,

apache-flink

2
推荐指数
1
解决办法
987
查看次数

Flink State 后端键的原子性和分布

在阅读了flink文档之后(下面提到的相关部分)我仍然没有完全理解原子性和密钥分布。

\n\n

即考虑一个由 keyby->flatmap(包含映射状态)组成的图,并行度设置为 1,有 4 个任务槽,flink 是否确保每个键在分布式环境中只存在一次(在一个任务槽中),是吗?原子单位?\n提前感谢所有帮助者。

\n\n
\n

您可以将键控状态视为已分区或分片的操作员状态,每个键只有一个状态分区。每个键控状态在逻辑上都绑定到 的唯一组合<parallel-operator-instance, key>,并且由于每个键 \xe2\x80\x9c 都属于\xe2\x80\x9d 恰好是键控运算符的一个并行实例,因此我们可以将其简单地视为<operator, key>

\n\n

键控状态进一步组织成所谓的键组。Key Groups 是 Fl​​ink 可以重新分配 Keyed State 的原子单元;关键组的数量与定义的最大并行度完全相同。在执行期间,键控运算符的每个并行实例都使用一个或多个键组的键。

\n
\n

apache-flink

1
推荐指数
1
解决办法
838
查看次数

标签 统计

apache-flink ×2