【发布时间】:2013-10-16 19:21:57
【问题描述】:
我正在尝试使用 python pyes 模块将具有 6M 记录的 csv 文件索引到 elasticsearch,代码逐行读取记录并将其推送到 elasticsearch...知道如何将其作为批量发送吗?
import csv
from pyes import *
import sys
header = ['col1','col2','col3','col3', 'col4', 'col5', 'col6']
conn = ES('xx.xx.xx.xx:9200')
counter = 0
for row in reader:
#print len(row)
if counter >= 0:
if counter == 0:
pass
else:
colnum = 0
data = {}
for j in row:
data[header[colnum]] = str(j)
colnum += 1
print data
print counter
conn.index(data,'accidents-index',"accidents-type",counter)
else:
break
counter += 1
【问题讨论】:
-
根据我的调查,批量发送 6M 条记录效率不高...
-
最好使用消息队列服务器....
-
stackoverflow.com/questions/20288770/… 有效,不使用“pyes”,而是使用更强大的库“elasticsearch”elasticsearch-py.readthedocs.io/en/master/index.html
标签: python linux elasticsearch