gpt4 book ai didi

Ruby 并行/多线程编程来读取巨大的数据库

转载 作者:数据小太阳 更新时间:2023-10-29 07:06:50 27 4
gpt4 key购买 nike

我有一个 ruby​​ 脚本读取一个巨大的表(约 2000 万行),进行一些处理并将其提供给 Solr 用于索引目的。这一直是我们流程中的一大瓶颈。我打算在这里加快速度,我想实现某种并行性。我对 Ruby 的多线程特性感到困惑。我们的服务器有ruby 1.8.7(2009-06-12 补丁级别 174)[x86_64-linux]。来自 this blog postthis question at StackOverflow可见 Ruby 没有“真正的”多线程方法。我们的服务器有多个核心,所以使用 parallel gem对我来说似乎是另一种方法。

我应该采用什么方法?此外,我们将非常感谢您对并行数据库读取馈送系统的任何投入。

最佳答案

您可以在操作系统级别将其并行化。更改脚本,以便它可以从您的输入文件中获取一系列行

$ reader_script --lines=10000:20000 mytable.txt

然后执行脚本的多个实例。

$ reader_script --lines=0:10000 mytable.txt&
$ reader_script --lines=10000:20000 mytable.txt&
$ reader_script --lines=20000:30000 mytable.txt&

Unix 会自动将它们分配到不同的核心。

关于Ruby 并行/多线程编程来读取巨大的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7579423/

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