gpt4 book ai didi

python - mongodb - 需要处理海量数据,只有一个服务器实例

转载 作者:可可西里 更新时间:2023-11-01 10:05:46 29 4
gpt4 key购买 nike

我正在尝试在 mongodb 中处理大约一亿条记录。基本上,每个键(处方号)响应大约 1300 条记录(不是唯一的)。这些键已被编入索引。

现在,我正在使用 pymongo 查询特定键以返回这些结果集,以便可以使用 python 进行处理。

查询mongo是最大的瓶颈。每次查询大约需要 20 秒。按照目前的速度,查询每条记录需要400 小时

这是我“解释”查询时的样子:

db.prescriptions.find({'key':68565299}).explain()

{
"cursor" : "BasicCursor",
"nscanned" : 103578563,
"nscannedObjects" : 103578563,
"n" : 1603,
"millis" : 287665,
"nYields" : 0,
"nChunkSkips" : 0,
"isMultiKey" : false,
"indexOnly" : false,
"indexBounds" : {

}
}

这表明我已经有了索引

> db.prescriptions.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"ns" : "processed_data.prescriptions",
"name" : "_id_"
}
]

我是否因为尝试在一个服务器实例上运行此数据处理而疯狂?(有趣的是,当我运行 top 时,我的 CPU 和 RAM 似乎没有用完。)

如有任何建议,我将不胜感激。

谢谢!!

最佳答案

添加索引

从查询的explain结果来看,“key”上没有索引,需要加一个。

> db.prescriptions.addIndex({'key': 1});

如果 mongo 报告任何类型的警告,您需要采取措施

关于python - mongodb - 需要处理海量数据,只有一个服务器实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12237850/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com