我使用下面的代码来阅读主题中的消息。如何在邮件被阅读后删除它?在
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))
没有办法从卡夫卡那里删除一条特定的信息——卡夫卡根本就不是要这样做的。删除消息的唯一方法是将kafka的
config/server.properties
中的log.retention.hours
设置为你喜欢的值。默认值是168—这意味着消息在168小时后不被保留。在如果您正在寻找一种从特定偏移量读取消息的方法,即不是每次都从头读,请看这里http://kafka-python.readthedocs.org/en/master/apidoc/KafkaConsumer.html
commit()
-提交对kafka的读偏移量seek_to_end()
-快进到只使用新到达的消息seek()
-移动到给定的偏移量(可能存储在kafka之外的其他地方)相关问题 更多 >
编程相关推荐