从状态存储中删除整个主题

时间:2019-12-05 23:44:51

标签: java spring-boot apache-kafka-streams

我正在尝试根据提供的密钥从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”上留言。我不确定这是否只会从主题中删除该特定记录或破坏主题本身。我只想将与我传入的密钥相对应的密钥为空。

0 个答案:

没有答案