当前位置:首页 > 技术文章 > 编程技术 > Python

kafka-python批量发送数据的方法

发布时间:2018-02-20 06:42:35 作者:匿名 来源:网络 点击量:

kafka-python批量发送数据的方法

from kafka import KafkaClient  
from kafka.producer import SimpleProducer  

def send_data_2_kafka(datas):  
    ''''' 
        向kafka解析队列发送数据 
    '''  
    client = KafkaClient(hosts=KAFKABROKER.split(","), timeout=30)  
    producer = SimpleProducer(client, async=False)  
  
    curcount = len(datas)/PARTNUM  
    for i in range(0, PARTNUM):  
        start = i*curcount  
        if i != PARTNUM - 1:  
            end = (i+1)*curcount  
            curdata = datas[start:end]  
            producer.send_messages(TOPICNAME, *curdata)  
        else:  
            curdata = datas[start:]  
            producer.send_messages(TOPICNAME, *curdata)  
          
    producer.stop()  
    client.close()  

 

其中PARTNUM为topic的partition的数目,这样保证批量发送的数据均匀的落在kafka的partition中。

 

本文链接:http://www.topjishu.net/article/96.html,如有转载,请注明出处!


关键词:Python,Kafka


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表