Python AWS EC2 mongoDB-脚本效率
根据客户机的请求,而不是使用DynamoDB,我们在AWSEC2实例上配置了mongoDB。 所述实例是一个m5a.large,具有2个vCPU和8GB内存。如前所述,它安装了mongoDB,以及Python和一些用于mongo的库 当我们开始用大约2-3条ill记录和14列的csv填充mongo集合时,问题就开始了。(约400mb) 当实例没有停止或引发OOM错误时,填充集合的脚本会在大约90%的记录处停止,并且不会引发任何错误 我相信这与我们用来做这件事的脚本有关,我想知道是否有人可以帮助我,或者给我另一种更有效的方法,或者确认这只是一个实例内存限制Python AWS EC2 mongoDB-脚本效率,python,mongodb,amazon-web-services,amazon-ec2,Python,Mongodb,Amazon Web Services,Amazon Ec2,根据客户机的请求,而不是使用DynamoDB,我们在AWSEC2实例上配置了mongoDB。 所述实例是一个m5a.large,具有2个vCPU和8GB内存。如前所述,它安装了mongoDB,以及Python和一些用于mongo的库 当我们开始用大约2-3条ill记录和14列的csv填充mongo集合时,问题就开始了。(约400mb) 当实例没有停止或引发OOM错误时,填充集合的脚本会在大约90%的记录处停止,并且不会引发任何错误 我相信这与我们用来做这件事的脚本有关,我想知道是否有人可以帮助我
import json
from mongoengine import *
from app.config import *
import pandas as pd
from app.model import Users
import time
conn = connect(
db=db_name,
username=username,
password=password,
authentication_source=authentication_source,
host=host,
)
if __name__ == "__main__":
t0 = time.time()
print("Time taken %8.8f seconds" % (time.time() - t0))
# CSV to JSON Conversion
df = pd.read_csv(
"csv.csv",
sep="|",
encoding="latin1",
)
df = df.rename(
columns={
"c1":"C1",
}
)
rows = df.to_json(orient="records")
rows = json.loads(rows)
Users.objects(cond=True).update(**{"cond": False})
for row in rows:
Users(row).register()
print("Time taken %8.8f seconds" % (time.time() - t0))
<强>注释:用户类继承了MungEngEngEngices文档>/P>。您可能需要考虑的一种不同方法是将CSV转换为JSON文件。然后使用mongoimport导入JSON文件。无需转换,mongoimport通过
--type
命令行选项直接支持CSV。您介意给出一个mongoimport如何工作的示例吗?我不是什么专家,CSV确实正在转换为json文件。