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
Apache kafka 如何从KafkaStreams PersistentKeyValueStore中删除记录?_Apache Kafka_Apache Kafka Streams - Fatal编程技术网

Apache kafka 如何从KafkaStreams PersistentKeyValueStore中删除记录?

Apache kafka 如何从KafkaStreams PersistentKeyValueStore中删除记录?,apache-kafka,apache-kafka-streams,Apache Kafka,Apache Kafka Streams,我将一些记录放入PersistentKeyValueStore: Long nowValue = Optional.ofNullable(myStore.get(key)).orElse(0L) + newValue; myStore.put(key, nowValue); 它运行良好。我可以通过println查看记录: KeyValueIterator<String, Long> iter = myStore.all(); while (iter.hasNext()) {

我将一些记录放入PersistentKeyValueStore:

Long nowValue = Optional.ofNullable(myStore.get(key)).orElse(0L) + newValue;
myStore.put(key, nowValue);
它运行良好。我可以通过println查看记录:

KeyValueIterator<String, Long> iter = myStore.all();
while (iter.hasNext()) {
     KeyValue<String, Long> entry = iter.next();
     System.out.println(entry.value)
}
iter.close();
myStore.remove(key)


如何按键删除记录?

接口
KeyValueStore
提供了一种
#delete(…)
方法(而不是
#remove(…)
)从存储中删除记录。

我将主题数据保留两天。存储数据是否保存在主题中?是否可以在两天后自动删除?默认的KeyValueStore没有数据保留时间。如果需要,您需要显式存储时间戳并手动删除数据。如果您实现自己的KeyValueStore并将其插入。是的,KeyValueStore数据默认由配置了日志压缩(无保留时间)的附加主题支持。
KeyValueIterator<String, Long> iter = myStore.all();
while (iter.hasNext()) {
     iter.remove();
}
iter.close();
java.lang.UnsupportedOperationException: RocksDB iterator does not support remove()
    at org.apache.kafka.streams.state.internals.RocksDBStore$RocksDbIterator.remove(RocksDBStore.java:515)
    at org.apache.kafka.streams.state.internals.InnerMeteredKeyValueStore$MeteredKeyValueIterator.remove(InnerMeteredKeyValueStore.java:306)
    at com.loogtech.bi.compute.realtime.processor.AddCashProcessor$TotalCashAddPunctuator.punctuate(AddCashProcessor.java:115)
    at org.apache.kafka.streams.processor.internals.ProcessorNode$4.run(ProcessorNode.java:131)
    at org.apache.kafka.streams.processor.internals.StreamsMetricsImpl.measureLatencyNs(StreamsMetricsImpl.java:208)
    at org.apache.kafka.streams.processor.internals.ProcessorNode.punctuate(ProcessorNode.java:134)
    at org.apache.kafka.streams.processor.internals.StreamTask.punctuate(StreamTask.java:263)
    at org.apache.kafka.streams.processor.internals.PunctuationQueue.mayPunctuate(PunctuationQueue.java:54)
    at org.apache.kafka.streams.processor.internals.StreamTask.maybePunctuateSystemTime(StreamTask.java:619)
    at org.apache.kafka.streams.processor.internals.AssignedTasks.punctuate(AssignedTasks.java:430)
    at org.apache.kafka.streams.processor.internals.TaskManager.punctuate(TaskManager.java:324)
    at org.apache.kafka.streams.processor.internals.StreamThread.punctuate(StreamThread.java:969)
    at org.apache.kafka.streams.processor.internals.StreamThread.runOnce(StreamThread.java:834)
    at org.apache.kafka.streams.processor.internals.StreamThread.runLoop(StreamThread.java:774)
    at org.apache.kafka.streams.processor.internals.StreamThread.run(StreamThread.java:744)