1
我需要从非常大的集合中读取数据并对每个文档执行一些操作。Pymongo parallel_scan
我正在使用pymongo的parallel_scan在多个进程上执行这些操作以提高效率。
cursors = mongo_collection.parallel_scan(6)
if __name__ == '__main__':
processes = [multiprocessing.Process(target=process_cursor, args=(cursor,)) for cursor in cursors]
虽然使用这些游标的过程如预期并开始运行开始,所有的流程完成自己的本分和退出,最终只有一个进程继续运行很长一段时间。
看起来像这是因为parallel_scan不会在光标之间平均分配文档。如何让所有游标具有几乎相同数量的文档。