首页 > 解决方案 > 如何设置 Kafka Streams 消息压缩?

问题描述

使用 Kafka Streams,我们无法识别在处理完写入接收器主题后压缩消息所需的配置。

另一方面,使用经典的 Kafka Producer,可以通过在KafkaProducer 属性上设置配置“compression.type”轻松实现压缩

但是,似乎没有任何文档证明让 Kafka Streams 压缩已处理的消息。

至于这次(2019 年初),有没有办法对 Kafka Streams 使用压缩?

标签: apache-kafkacompressionbigdataapache-kafka-streams

解决方案


您可以在 StreamConfig 中为内部使用的生产者指定参数,如下所示:

final Properties props = new Properties();
props.put(StreamsConfig.APPLICATION_ID_CONFIG, "your-streams-app-id");
props.put(ProducerConfig.COMPRESSION_TYPE_CONFIG, "lz4");

输出主题将使用 LZ4 算法进行压缩。

有关更多详细信息,请参阅https://docs.confluent.io/current/streams/developer-guide/config-streams.html#kafka-consumers-producer-and-admin-client-configuration-parameters


推荐阅读