Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 卡夫卡主题压缩_Apache Kafka - Fatal编程技术网

Apache kafka 卡夫卡主题压缩

Apache kafka 卡夫卡主题压缩,apache-kafka,Apache Kafka,我使用了kafka-topics.bat--zookeeper localhost:2181--alter--topic test--config cleanup.policy=compact delete config min.cleanable.dirty.ratio=0.01--config segment.ms=100--config delete.retention.ms=100来压缩我的主题。 我已使用相同的密钥发送了2000封邮件。当我使用这些邮件时,我会分别收到每封邮件,而不是一

我使用了
kafka-topics.bat--zookeeper localhost:2181--alter--topic test--config cleanup.policy=compact delete config min.cleanable.dirty.ratio=0.01--config segment.ms=100--config delete.retention.ms=100
来压缩我的主题。
我已使用相同的密钥发送了2000封邮件。当我使用这些邮件时,我会分别收到每封邮件,而不是一封压缩邮件。

您所指的压缩设置与您使用Kafka客户端的方式无关。有关更多详细信息,请查看

如果要控制客户端使用消息的方式,则必须使用配置客户端

考虑这样一种情况:您将主题合并300毫秒,并接收一组消息(ConsumerRecords),然后您可以迭代以独立处理每条消息

while(true) {
   ConsumerRecords<String, JsonNode> records = kafkaConsumer.poll(300);
       if(records.count() > 0) {
          for(ConsumerRecord<String, JsonNode> record: records) {
             if(counter % 500 == 0) {
                 log.info("Record recovered, groupId: {}, topicName: {}, key: {}, value: {} , offset: {}",
                 this.groupId, this.topicNames, record.key(), record.value(), record.offset());
                    }
                }
            }
        }
while(true){
消费者记录记录=kafkaConsumer.poll(300);
if(records.count()>0){
对于(消费者记录:记录){
如果(计数器%500==0){
log.info(“记录已恢复,组ID:{},主题名:{},键:{},值:{},偏移量:{}”,
this.groupId、this.topicNames、record.key()、record.value()、record.offset());
}
}
}
}

假设我们有这样的东西,key=value1 key=value2现在value2是key的更新值,我只想要更新值!!!如何配置Kafka以仅保留更新的值?您好,您不能仅保留最新信息,这不是Kafka的工作方式,它是一个仅附加的分布式日志,对于您提到的内容,您需要使用Kafka 0.10.1或0.10.0中引入的Kafka streams和Ktable或GlobalKTable,我记得目前还不确定。。。。你是怎么解决的?