我正在尝试根据提供的密钥从stateStore中删除整个主题和主题中的单个记录(不是同时删除)。因此,如果我传入的键等于流中的键,则将该键的值设为null。
StreamsBuilder streamsBuilder = new StreamsBuilder();
KStream kStream =
streamsBuilder.stream(
inputTopic,
Consumed.with(Serdes.String(), /* key serde */
Serdes.ByteArray() /* value serde */))
.map((key1, value) -> {
.map((key1, value) -> {
if(key1.equals(key)){
return new KeyValue<String, byte[]>(key, null);
}
return new KeyValue<>(key1, value);
});
});
到目前为止,这是我所拥有的,但是我不确定地图是正确的选择,之前我有groupByKey()。我的指示是在主题键“ null”上留言。我不确定这是否只会从主题中删除该特定记录或破坏主题本身。我只想将与我传入的密钥相对应的密钥为空。