如何设置Kafka流消息压缩?

时间:2019-01-28 16:19:56

标签: apache-kafka compression bigdata apache-kafka-streams

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

另一方面,使用经典的Kafka Producer,可以通过在KafkaProducer properties

上设置配置“ compression.type”轻松实现压缩。

但是,似乎没有任何记录的示例,可以让Kafka Streams压缩处理后的消息。

这一次(从2019年初开始),是否有办法完全在Kafka Streams上使用压缩?

1 个答案:

答案 0 :(得分:1)

您可以在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