午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

python - 如何使用pykafka consumer進(jìn)行數(shù)據(jù)處理并保存?

瀏覽:225日期:2022-07-29 10:47:55

問題描述

使用本地kafka bin/kafka-console-producer.sh --broker-list kafkaIP:port --topic topicName創(chuàng)建命令行生產(chǎn)數(shù)據(jù),然后打開python

from pykafka import KafkaClientclient = KafkaClient(hosts='192.168.x.x:9092')topic = client.topics[’wr_test’]consumer = topic.get_balanced_consumer(consumer_group=’test-consumer-group’,auto_commit_enable=True,zookeeper_connect=’192.168.x.x:2121’)

然后自己編寫了簡單的一套處理函數(shù),從外部引用。將數(shù)據(jù)處理后存入elasticsearch 或者 數(shù)據(jù)庫比如for msg in consumer:

if msg is not None: 外部引入的處理函數(shù)(msg.value)

在python命令行for msg in consumer:

print msg.offset, msg.value

這時(shí)候使用生產(chǎn)者敲入一些數(shù)據(jù),在消費(fèi)端就會就會立即打印出來但是寫成py文件之后,每次運(yùn)行只會處理最近的生產(chǎn)的一次內(nèi)容,在生產(chǎn)者中再進(jìn)行輸入一些內(nèi)容,py文件就不會再進(jìn)行數(shù)據(jù)處理了。所以向問下如何編寫能運(yùn)行后能一直對消費(fèi)者數(shù)據(jù)進(jìn)行處理的函數(shù)?要注意哪些地方?

另外,get_balanced_consumer的方法,是連接zookeeper消費(fèi)使用topic.get_simple_consumer是直接消費(fèi)kafka,使用這種方式就提示No handler for...的錯誤

還有一個(gè)疑問,就是實(shí)際生產(chǎn)環(huán)境日志產(chǎn)生量很快,應(yīng)該如何編寫一個(gè)多線程處理方法?

問題解答

回答1:

在別人的博客看到一種替代的解決方案http://www.cnblogs.com/castle...從consumer中將msg.value讀取到一個(gè)列表當(dāng)中,然后從列表中讀取數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,當(dāng)這個(gè)流程結(jié)束后,再把列表中獲取的數(shù)據(jù)pop掉。另外也要用try: ... except :... continue

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 亚洲一区二区观看 | 中文字幕一区二区三区在线观看 | 91成年人视频 | 九九热伊人 | 自拍偷拍在线播放 | 国产精品久久婷婷六月丁香 | 一级片在线视频 | 四虎在线网站 | 国产不卡视频在线 | 亚洲自拍偷拍精品 | 免费av播放 | 青青草福利视频 | www欧美视频 | 日韩一区在线视频 | 超碰2020| 天天操综合网 | 久久公开视频 | 亚洲福利久久 | 欧美日韩午夜 | 欧美日韩中字 | 国产一区二区三区四区五区六区 | 一区二区三区精品视频 | 国产又粗又大又长 | 久久久久久久久久av | 日韩免费专区 | 日日精品| av黄色大片 | 亚洲欧美自偷自拍 | 国产精品不雅视频 | 久久这里有 | 午夜在线看片 | 天天操欧美 | 伊人影院综合 | 久久九九国产精品 | 92久久精品一区二区 | 成人av福利 | 久久影片 | 精品一区二区国产 | 亚洲欧美国产毛片在线 | 成人在线观看网址 | 国产一区二区三区免费在线观看 |