我可以压缩 Kafka 中 KafkaStream 使用的中间主题(状态存储)吗
Can I compress intermediate topic (state store) used by KafkaStream in Kafka
使用有状态处理器时,状态也可以存储在kafka中。
例如,名称如下的主题:
-repartition-x
和 -changelog-x
我可以压缩这些主题,例如,使用 gzip,KafkaStream 仍然可以使用它们吗?
正如 Mathias 指出的那样,您可以通过在内部主题配置中设置 compression.type
主题配置来压缩消息。参见 https://kafka.apache.org/10/javadoc/org/apache/kafka/streams/state/StoreBuilder.html#withLoggingEnabled-java.util.Map-
或者,您也可以实现一个执行压缩的自定义 Serde。
更喜欢前者,因为它只会在 Kafka 主题中压缩,而不会在状态存储中压缩。这避免了在处理过程中不必要的compress/uncompress。
使用有状态处理器时,状态也可以存储在kafka中。
例如,名称如下的主题:
-repartition-x
和 -changelog-x
我可以压缩这些主题,例如,使用 gzip,KafkaStream 仍然可以使用它们吗?
正如 Mathias 指出的那样,您可以通过在内部主题配置中设置 compression.type
主题配置来压缩消息。参见 https://kafka.apache.org/10/javadoc/org/apache/kafka/streams/state/StoreBuilder.html#withLoggingEnabled-java.util.Map-
或者,您也可以实现一个执行压缩的自定义 Serde。
更喜欢前者,因为它只会在 Kafka 主题中压缩,而不会在状态存储中压缩。这避免了在处理过程中不必要的compress/uncompress。