python处理kafka数据
1、程序作用:从多个topic中读取数据--处理数据--写入新的kafkatopic中
pip3 install kafka-python
import json
from kafka import KafkaProducer
from kafka import KafkaConsumer
#消费者
def comsum():
print('start consumer')
consumer = KafkaConsumer(group_id='1',
bootstrap_servers=["100.98.100.186:9092"],
)
print(consumer)
consumer.subscribe(['test_topic', 'topic2'])
for message in consumer:
rs=json.loads(message.value) # 这样就可以通过topic和value去做后边的操作了
#处理数据生成新的数据
dict1 = {}
dict1['name'] = rs['name']
dict1['msg'] = rs['msg']
print(dict1)
#生产新数据
kfk_produce(dict1)
print('end consumer')
#生产者
def kfk_produce(data_dict):
"""
发送 string 格式数据
:return:
"""
producer = KafkaProducer(bootstrap_servers='100.98.100.186:9092')
msg: str = json.dumps(data_dict).encode('utf-8')
producer.send('new_topic', msg, partition=0)
producer.close()
if __name__ =='__main__':
comsum()
2、运行环境
docker run --name python-cron -d wukc/python3-cron:latest
3、执行方式
nohup python pyhon_kafka.py >kafka.log 2>&1 &
做一个决定,并不难,难的是付诸行动,并且坚持到底。

浙公网安备 33010602011771号