我需要从一个非常大的集合中读取,并对每个文档执行一些操作。
我正在使用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没有在游标中平均分配文档。如何使所有游标的文档数几乎相等。
https://stackoverflow.com/questions/38218852
复制相似问题