Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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
Java 从ktable发出值并对其进行修改_Java_Apache Kafka_Apache Kafka Streams - Fatal编程技术网

Java 从ktable发出值并对其进行修改

Java 从ktable发出值并对其进行修改,java,apache-kafka,apache-kafka-streams,Java,Apache Kafka,Apache Kafka Streams,我试图用卡夫卡解决以下问题。 有一个话题。让我们称之为src主题。我不时收到这个主题的记录。我希望将这些值存储在ktable中,并每隔10秒将存储在ktable中的值发送到dst主题。当我第一次从这个ktable发出一个值时,我想在我发出的记录中附加1。以后每次我都希望将0附加到发出的记录中 我正在寻找一个正确的、最好是惯用的解决方案来解决这个问题。 我看到的解决方案之一是,当我从src主题摄取时,发出一条附加了1的记录,然后将附加了0的记录存储在ktable中。另一个线程将从此ktable读取

我试图用卡夫卡解决以下问题。
有一个话题。让我们称之为src主题。我不时收到这个主题的记录。我希望将这些值存储在ktable中,并每隔10秒将存储在ktable中的值发送到dst主题。当我第一次从这个ktable发出一个值时,我想在我发出的记录中附加1。以后每次我都希望将0附加到发出的记录中

我正在寻找一个正确的、最好是惯用的解决方案来解决这个问题。 我看到的解决方案之一是,当我从src主题摄取时,发出一条附加了1的记录,然后将附加了0的记录存储在ktable中。另一个线程将从此ktable读取数据并定期发送记录。这种方法的问题在于它有一个竞争条件


任何建议都将不胜感激。

没有直接的方法可以做到这一点。注意,
KTable
是一个changelog流(它可能在内部有一个表状态——并非所有KTable都有一个状态——,但这是一个实现细节)

因此,
KTable
是一个流,您无法刷新流。。。因为状态(如果有)是内部的,所以也不能刷新状态

您只能通过交互式查询访问状态,该查询还允许进行范围扫描。但是,这不会在下游发出任何信息,而是将数据提供给应用程序的“非流部分”


我认为,您需要使用低级处理器API来获得所需的结果。

“每隔10秒将存储在ktable中的值发送到dst主题”您能否澄清这一点。是否要发出表中当前包含的所有值,每10秒发出一次?是。所有价值观都来自ktable。我想知道,从更高层次的角度来看,您试图实现什么。。。