kafka-python批量发送数据的实例

yipeiwu_com6年前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中。

以上这篇kafka-python批量发送数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现Dijkstra算法的最短路径问题

python实现Dijkstra算法的最短路径问题

迪杰斯特拉(Dijkstra)算法主要是针对没有负值的有向图,求解其中的单一起点到其他顶点的最短路径算法。 1 算法原理 迪杰斯特拉(Dijkstra)算法是一个按照路径长度递增的次序产...

python制作简单五子棋游戏

本文实例为大家分享了python五子棋游戏的具体代码,供大家参考,具体内容如下 #五子棋 ‘'' 矩阵做棋盘 16*16 “+” 打印棋盘 for for 游戏是否结束 开始下棋 wh...

解析Python中的生成器及其与迭代器的差异

生成器 生成器是一种迭代器,是一种特殊的函数,使用yield操作将函数构造成迭代器。普通的函数有一个入口,有一个返回值;当函数被调用时,从入口开始执行,结束时返回相应的返回值。生成器定义...

将python运行结果保存至本地文件中的示例讲解

一、建立文件,保存数据 1.使用python中内置的open函数 打开txt文件 #mode 模式 #w 只能操作写入 r 只能读取 a 向文件追加 #w+ 可读可写 r+可读可写...

python list语法学习(带例子)

创建:list = [5,7,9]取值和改值:list[1] = list[1] * 5列表尾插入:list.append(4)去掉第0个值并返回第0个值的数值:list.pop(0)去...