У меня есть датафрейм с более чем миллионом строк данных.Я хочу сохранить его вasticsearch, используя объем.
На данный момент это мой подход
from elasticsearch import helpers
import pandas as pd
def save_views(self, df_views):
es = self.es
bulk_data = []
df_views['update_time'] = datetime.now()
df_dicts = df_views.to_dict(orient='records')
for doc in df_dicts:
doc_id = str(doc['date']) + "_" + doc['name']
action = {"_id" : doc_id, "_index" : my_index, "_type" : my_type, "_source" : doc}
bulk_data.append(action)
try:
helpers.bulk(es, bulk_data, stats_only=False)
self.logger.info ("Views saved!")
except Exception as e:
self.logger.error(str(e))
Он работает в моей тестовой среде, однако он потребляет много оперативной памяти в процессе.и мой сервер не обрабатывает его.
Есть ли лучший способ создать этот список массовых данных?