Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 在KStreams中,如何动态控制Ktable/Ktable连接何时产生结果?_Apache Kafka_Apache Kafka Streams - Fatal编程技术网

Apache kafka 在KStreams中,如何动态控制Ktable/Ktable连接何时产生结果?

Apache kafka 在KStreams中,如何动态控制Ktable/Ktable连接何时产生结果?,apache-kafka,apache-kafka-streams,Apache Kafka,Apache Kafka Streams,我有一个从Ktable到Ktable的连接。我使用.aggregate()创建Ktables,当任何一方接收到新消息时,它们会将结果发送给下一个流处理器。我有一个用例,我可以在左边的KTable上接收另一条消息,但该消息是“重复的”。它不是技术意义上的实际副本,而是每个“我的业务逻辑”的副本(它包含X、Y和Z字段,这些字段的值与前面的消息相同) 如何检查以前的聚合值,将其与新值进行比较,并阻止该消息导致联接产生结果 我也不想从Ktable中删除该密钥,因为当新的“右侧”消息出现时,我仍然需要右侧

我有一个从Ktable到Ktable的连接。我使用.aggregate()创建Ktables,当任何一方接收到新消息时,它们会将结果发送给下一个流处理器。我有一个用例,我可以在左边的KTable上接收另一条消息,但该消息是“重复的”。它不是技术意义上的实际副本,而是每个“我的业务逻辑”的副本(它包含X、Y和Z字段,这些字段的值与前面的消息相同)

如何检查以前的聚合值,将其与新值进行比较,并阻止该消息导致联接产生结果

我也不想从Ktable中删除该密钥,因为当新的“右侧”消息出现时,我仍然需要右侧Ktable继续加入


我想动态控制连接何时产生结果。joiner中有什么我可以做的来检查以前的状态吗?

为了解决这个问题,我使用了这里提供的答案:解决方案#1-在连接后使用转换,并跟踪以前的状态,如果我的业务逻辑确定它是“重复”消息,则返回null。有WIP将当前的“更新时发出”语义更改为“随机应变“语义学,所以这个问题应该在未来的版本中解决:——现在,我想除了你链接到的问题中讨论的内容之外,你还可以做很多事情。要解决这个问题,我使用了这里提供的答案:解决方案#1-在连接后使用转换,并跟踪以前的状态,如果我的业务逻辑确定它是一条“重复”消息,则返回null。有WIP将当前的“更新时发出”语义更改为“更改时发出”语义,因此该问题应该在将来的版本中解决:--目前,我想除了你链接的问题中讨论的内容之外,你还可以做很多事情。