python --kakfa(三):kafka模块生产和消费数据

本文介绍了Kafka的基础知识,包括它的核心概念——topic、producer和consumer,并详细阐述了使用Python进行Kafka数据生产和消费的步骤,包括安装、引入库、消费端的JSON数据读取以及发送端的多种消息发送方式。
摘要由CSDN通过智能技术生成



一、kafka是什么?

kafka 是一个分布式流式计算平台。而在大部分企业开发人员中,都是把 kafka 当成消息系统使用,即它是一个分布式消息队列,很少会使用 kafka 的流式计算。它有四个关键概念:

  • topic :kafka 把收到的消息按 topic 进行分类,因此可以理解为 topic 是一种类别
  • producer :往kafka 发送消息的用户
    consumer :接收 kafka 消息的用户

二、使用步骤

1. 安装

安装 kafka:  pip install kafka-python

1.引入库

代码如下(示例):

from kafka import KafkaConsumer
from kafka import KafkaProducer

2.消费端:读取数据

发送和接受消息解析

# 客户端接受消息如下
ConsumerRecord(topic='my_topic', partition=0, offset=4, timestamp=1529569531392, 
                timestamp_type=0, key=b'my_value', value=None, checksum=None, 
                serialized_key_size=8, 
                serialized_value_size=-1)
# 解释
topic
partition
offset : 这条消息的偏移量
timestamp : 时间戳
timestamp_type : 时间戳类型
key : key值,字节类型
value : value值,字节类型
checksum : 消息的校验和
serialized_key_size : 序列化key的大小
serialized_value_size : 序列化value的大小,可以看到value=None时,大小为-1
  1. 消费:
# my_topic 为Topic的名称
# group_id 指定次消费者实例属于的组名,可以不指定
# bootstrap_servers kafka地址
consumer = KafkaConsumer('my_topic', group_id= 'group2', bootstrap_servers= ['localhost:9092'])
for msg in consumer:
    print(msg) # 消费到的数据
  1. 解码json(接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值