【问题标题】:how to delete kafka message after reading阅读后如何删除kafka消息
【发布时间】:2016-04-14 03:33:02
【问题描述】:

我正在使用以下代码从主题中读取消息。邮件阅读后如何删除?

from kafka import KafkaConsumer


    consumer = KafkaConsumer('my-topic',
                             group_id='my-group',
                             bootstrap_servers=['localhost:9092'])
    for message in consumer:
        # message value and key are raw bytes -- decode if necessary!
        # e.g., for unicode: `message.value.decode('utf-8')`
        print ("%s:%d:%d: key=%s value=%s" % (message.topic, message.partition,
                                              message.offset, message.key,
                                              message.value))

【问题讨论】:

标签: python apache-kafka


【解决方案1】:

没有办法从 kafka 中删除特定消息 - kafka 根本不是为了这样做而设计的。删除消息的唯一方法是将 kafka 的 config/server.properties 中的 log.retention.hours 设置为您喜欢的值。默认值为 168 - 表示 168 小时后不会保留消息。

如果您正在寻找一种从特定偏移量读取消息的方法 - 即不是每次都从头开始读取,请查看http://kafka-python.readthedocs.org/en/master/apidoc/KafkaConsumer.html
commit() - 将读取偏移量提交给 kafka
@987654325 @ - 快进到只使用新到达的消息
seek() - 移动到给定的偏移量(可能存储在 kafka 之外的其他地方)

【讨论】:

    猜你喜欢
    • 2015-04-19
    • 1970-01-01
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    相关资源
    最近更新 更多