【问题标题】:Write into mongodb after processing files处理文件后写入mongodb
【发布时间】:2017-02-20 09:33:31
【问题描述】:

假设我有 10,000 个文件,我将使用 python 代码从这些文件中提取一些信息并将这些信息写入 mongodb。所有这些操作都将在一台本地计算机上完成。

我能否使用 python 的多处理包并行执行所有操作以加快处理速度?有没有更好的办法?

【问题讨论】:

    标签: python mongodb pymongo


    【解决方案1】:

    是的,多处理将有助于分配工作负载。如果你的机器上有 8 个内核,那么大约 8 个 Python 进程可能会最大限度地提高吞吐量。不仅如此,磁盘 I/O 的争用,或与 MongoDB 服务器争夺 CPU 时间,都将成为瓶颈。 “multiprocessing.Pool.map”函数特别适合在进程之间划分工作:

    https://docs.python.org/2/library/multiprocessing.html#using-a-pool-of-workers

    【讨论】:

    • 谢谢!我担心如果多个进程尝试写入 MongoDB 中的同一个集合会出现问题。
    • MongoDB 的线程安全,可以从多个连接并发写入。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-14
    • 1970-01-01
    相关资源
    最近更新 更多