将kstream连接到ktable时kafka ktables缺少数据

yyhrrdl8  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(372)

是否有人对此问题发表了回应?还有其他帖子没有答案。我们的情况是,在流处理的第一步中,我们将消息推送到支持ktable的主题上。然后,我们从这些消息中提取少量数据并将其传递出去。我们正在对较小的数据量进行多次计算,以便进行分组和聚合。在流处理结束时,我们只想通过ktable重新连接到原始主题,以再次获取完整的消息内容。联接的结果只是数据的一个子集,因为它在ktable中找不到条目。
这只是问题的开始。在另一种情况下,我们使用ktables作为查找的索引,以丰富传入的数据。可以将这些查找视为标识我们以前是否在流消息中看到过特定模式。如果我们已经看到了这个模式,我们希望用从现有ktable中提取的id(用于分组)来标记它。如果我们之前没有看到这个模式,我们会给它分配一个id,并将它放回ktable中,以用于标记将来的消息。我们发现,无法保证这些信息会出现在ktable中以备将来的消息使用。这种缺乏保证的情况似乎使ktables毫无用处。我们不明白为什么论坛上很少讨论这个问题。
最后,在使用streams应用程序的单个示例运行时,这些似乎都不是问题。然而,一旦我们的数据变得庞大,我们被迫拥有10个应用示例,一切都崩溃了。同样,我们不可能使用globalktables之类的东西,因为有太多的数据要加载到一台机器的内存中。
我们能做什么?我们目前计划一起放弃ktables,并使用hazelcast之类的工具来存储查找数据。我们是不是应该搬到黑兹卡斯特喷气式飞机上,一起把Kafka河扔下去?
添加流:kafka数据流

pnwntuvh

pnwntuvh1#

我很抱歉没有回答,但我没有足够的分数来评论。。。
你所描述的行为与我对streams的理解和经验完全不符。如果您可以共享导致问题的拓扑(或简化的拓扑),那么我们可能会指出一个简单的错误。
一旦我们得到更多的信息,我可以编辑成一个“真实”的答案。。。
谢谢-厕所

相关问题