如何限制上传到Elasticsearch的数据量?我的旧笔记本电脑不能处理像我正在使用的那样的大型数据集。
我使用了以下代码来“限制”要上传的数据
from elasticsearch import helpers, Elasticsearch
import csv
import itertools
with open('my_data.csv', encoding="utf8") as f:
reader = csv.DictReader(f)
for row in itertools.islice(reader, 1000): #limitation of data
helpers.bulk(es, reader, index='movie-plots', doc_type=None)
但这显然是不起作用的;当我检查'POST movie-plots/_count‘时,它返回整个数据集的初始大小。
我对Elasticsearch完全是个新手,所以如果这是一个新手问题,我很抱歉。为了使用Elasticsearch和Kibana,我使用Python客户端(在Jupyter notebook中)。
发布于 2021-02-04 20:36:38
您正在调用reader
上的islice
...但是不管怎样,你都是把所有的reader
都传递给了helpers.bulk
。
不是在我可以测试的地方;但是尝试删除for
循环,直接将islice
传递给helpers.bulk
:
with open('my_data.csv', encoding="utf8") as f:
reader = csv.DictReader(f)
helpers.bulk(es, itertools.islice(reader, 1000), index='movie-plots', doc_type=None)
https://stackoverflow.com/questions/66044452
复制相似问题