python链接kafka,向本地写入数据
这是一个简单的demo,学习kafka的一小步,同理可用到向数据库的数据读写,还有数据分析伪流式数据读取,用生产者来读取指定位置的数据,消费者进行数据的处理
from kafka import KafkaProducer,KafkaConsumer
import json
import datetime
import time
# 生产者 存储json数据
producer = KafkaProducer(
value_serializer=lambda v: json.dumps(v, ensure_ascii=False).encode('utf-8'),
bootstrap_servers=[':'] # ip:端口
)
producer.send('sd_producer', {'ids':'ids'})# args1:topic args2:数据
# 消费者
consumer = KafkaConsumer('sd_producer',# topic_name
group_id="write_mess_sd", # 消费者分组名
bootstrap_servers=[':'],
auto_offset_reset='earliest'
)
file_load = '/Users/taihe/Desktop/test.txt' # 文件存储位置,以及指定的文件名
f = open(file_load, 'a')
def to_parse(datas):
f.write(str(datas) + '\n')
while True:
message = consumer.poll(max_records=1, timeout_ms=1000)
# print(type(message))
if message:
datas = []
for i in message.values():
for data in i:
datas.append(json.loads(data.value.decode()))
to_parse(datas)