【问题标题】:Is it possible to drop an aggregate (Kafka streams) if a specific number of bytes is exceeded?如果超过特定的字节数,是否可以删除聚合(Kafka 流)?
【发布时间】:2024-05-16 21:05:01
【问题描述】:

我的目标是在超过一定数量的字节(序列化 json)时将聚合设置为 null。是否有某种方法或者保留时间是最终删除聚合的唯一方法?

【问题讨论】:

    标签: apache-kafka kafka-consumer-api apache-kafka-streams


    【解决方案1】:

    一般来说是可以的,但可能会很贵。

    如果您的Aggregator 返回null,则相应的结果行将被删除。因此,每次调用Aggregator 时,您都可以在自己的代码中序列化结果以检查其大小,如果它太大则返回null,否则返回新结果。不过,额外的序列化步骤可能会很昂贵。

    【讨论】: