java - Kafka Streams Global Store - 添加更改日志主题
问题描述
我有一种情况,我想维护自己的全局表结构。本质上,全局存储链接到一个处理器,我使用一些计算来创建键,然后将其存储到键值存储。
由于全局状态存储没有更改日志主题,它使用原始主题作为更改日志。在状态恢复的情况下,它只是将主题数据加载到全局表(这将是错误的),因为我们构建了自己的键和值。
Topic Data
Key, value
1234,abcd
4567,defg
StateStore
Key, value
12ab, abcd
45de, defg
我的要求是使用我的自定义键(不是直接来自主题的键)创建一个全局商店。有什么解决办法吗?
以下链接回答了我的问题 Kafka Streams use case for add global store
解决方案
在解决https://issues.apache.org/jira/browse/KAFKA-7663和https://issues.apache.org/jira/browse/KAFKA-8037之前,目前不支持此功能。
目前,全局Processor
无法在不破坏应用程序的情况下更改数据。您只能将未修改的数据放入全局状态存储中。
作为一种解决方法,您可以执行一个预处理步骤来修改数据,将其写回主题,然后将该主题消费到您的全局状态存储中。
推荐阅读
- apache - WAMP phpMyAdmin 总是重定向到旧版本
- javascript - 如何在节点内获取节点
- python - 我正在尝试使用 pdfminer 在 python 中将数据提取为 HTML 元素
- java - Java - 如果返回值为零,比较器如何工作?
- coq - 没有在 coq 中明确指定类型的实例
- java - 链接 2 个对象并从每个对象中获取它们
- google-tag-manager - 有没有办法将容器的标签和触发器共享到谷歌标签管理器中的另一个容器
- google-cloud-platform - 创建新数据实验室实例时参数无效
- python - 当一个新的小部件被分配给它时,框架背景颜色消失(tkinter)
- java - 此服务器无法验证您是否有权访问所请求的文档