apache kafka的纯python客户端
gc-kafka-python的Python项目详细描述
>>> pip install kafka-python
kafka python是apache kafka分布式流处理的客户机 系统。它的设计与官方Java客户机的功能非常相似,具有 pythonic接口的喷洒(例如迭代器)。
卡夫卡康苏默
>>> from kafka import KafkaConsumer >>> consumer = KafkaConsumer('my_favorite_topic') >>> for msg in consumer: ... print (msg)
卡夫卡是一个功能齐全的, 在设计和功能上与 新的0.9 Java消费者。大多数配置参数由官方定义 Java客户机被支持为可选Kwargs,其行为通常类似。 gzip和snapy压缩消息是透明支持的。
除了标准的kafkaconsumer.poll()接口(它返回 按主题分区分组的微批消息,kafka python支持 单消息迭代,产生ConsumerRecord名称的耦合,包括 每个消息的主题、分区、偏移量、键和值。
默认情况下,kafkaconsumer将尝试自动提交 消息每5秒偏移一次。与0.9卡夫卡经纪人一起使用时, kafkaconsumer将使用 kafka组协调器api和roundrobinpartitionassignor 分区策略,支持相对简单的并行消费 模式。见ReadTheDocs 例如。
卡夫卡制作人
<;正在进行中-请参阅SimpleProducer以了解旧的生产者实现>;
协议
kafka python的第二个目标是提供一个易于使用的协议层 通过python repl与kafka代理交互。这对 测试、探测和一般实验。协议支持是 用于启用kafkaclient。请检查 探测一个kafka代理并试图确定它运行的是哪个版本 (0.8.0至0.9)。
低水平
对低级消费者和生产者类保持传统支持, simpleconsumer和simpleproducer。见 ReadTheDocs获取api详细信息。