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

Kafka Streams全球商店-添加更改日志主题

朱毅
2023-03-14

我需要维护自己的全局表结构。基本上,全局存储与处理器相连,我使用一些计算来创建键,然后将其存储到键值存储。

由于全局状态存储没有更改日志主题,所以它使用原始主题作为更改日志。在状态恢复的情况下,它只是将主题数据加载到全局表(这将是错误的),因为我们构建了自己的密钥

Topic Data

Key, value
1234,abcd
4567,defg

StateStore
Key, value
12ab, abcd
45de, defg

我的要求是用我的自定义键(不是直接来自主题的键)创建一个全局存储。有什么解决方案吗?

下面的链接回答了我的问题Kafka streams用于添加全局存储的用例

共有1个答案

东方旺
2023-03-14

目前,直到https://issues.apache.org/jira/browse/KAFKA-7663和https://issues.apache.org/jira/browse/KAFKA-8037问题解决了。

目前,全局处理器不能在不破坏应用程序的情况下更改数据。您只能将未修改的数据放入全局状态存储中。

作为一种解决方法,您可以执行一个预处理步骤,修改数据,将其写回主题,然后将该主题使用到全局状态存储中。

 类似资料:
  • 我在一个输入主题上构建KTable,并且在两个Kafka Stream应用程序实例上加入KStream。 KTable的输入主题已经是一个日志压缩主题。因此,当我的一个应用程序实例关闭时,通过读取input log compacted主题,另一个实例状态存储似乎会用整个状态刷新。 所以不需要为我的KTable存储启用日志记录(更改日志)? 我的源输入日志压缩主题可能有数百万条记录,所以如果我在KT

  • 我试着在附加程序上操作级别过滤器,但似乎没有太大作用

  • 问题内容: 现在,我的构建过程使用MS Build从源进行构建,并在构建过程中执行自定义程序。我在程序中写入控制台的所有内容都记录在控制台输出中。 但是,我也想在用户界面的“更改”和/或“状态”部分中记录一些条目(类似于SVN所做的事情)。 如何才能做到这一点? 问题答案: // This is a deliciously convoluted and fragile hack to force

  • 我刚刚在我的Windows 7 64bit中安装了Android Studio。 当我启动应用程序时,我们编写代码的屏幕背景是白色的。 我更喜欢黑色或任何其他颜色。 我不确定我们是否可以更改颜色/主题或添加更多主题。

  • 我的应用程序登录到控制台和文件(log4net 1.2.11):

  • 假设我将一个KStream聚合到一个KTable,将一个KStream聚合到一个KTable。和都不传递空值(删除事件被聚合为快照的状态属性)。此时,我们可以假设对于和聚合都有一个持久化的kafka changelog主题和一个rocksDB本地存储。然后,我的拓扑将与连接起来,生成一个连接的。也就是说,我的问题是和物化生命周期(包括changelog主题和本地rocksdb存储)。假设主题和主题